1. 程式人生 > >ThinkPHP URL偽靜態和U方法的使用

ThinkPHP URL偽靜態和U方法的使用

首先, 在配置檔案(config.php)裡設定 URL_HTML_SUFFIX 設定靜態字尾
<?php

return array(

'URL_HTML_SUFFIX'=>'.html',  //隨意, 可設定其它的。

....

//其它配置資訊

);

?>

來看下手冊U方法的定義規則

U方法的定義規則如下(方括號內參數根據實際應用決定):

U('[專案://][路由@][分組名-模組/]操作? 引數1=值1[&引數N=值N]')

或者用陣列的方式傳入引數

U('[專案://][路由@][分組名-模組/]操作',array('引數1'=>'值1' [,'引數N'=>'值N']))

如果不定義專案和模組的話 就表示當前專案和模組名稱,下面是一些簡單的例子:

U('Myapp://User/add') // 生成Myapp專案的User模組的add操作的URL地址

U('Blog/read?id=1') // 生成Blog模組的read操作 並且id為1的URL地址

U('Admin-User/select') // 生成Admin分組的User模組的select操作的URL地址

引數請確保使用 ?id=1&name=tp或者陣列的方式來定義,雖然有些情況下

U('Blog/read/id/1')和U('Blog/read?id=1')的效果一樣
但是在不同的URL設定情況下,會導致解析的錯誤。

根據專案的不同URL設定,同樣的U方法呼叫可以智慧地對應產生不同的URL地址效果,例如針對

U('Blog/read?id=1')這個定義為例。

如果當前URL設定為普通模式的話,最後生成的URL地址是: 

http://<serverName>/index.php?m=Blog&a=read&id=1 

如果當前URL設定為PATHINFO模式的話,同樣的方法最後生成的URL地址是: 

http://<serverName>/index.php/Blog/read/id/1 

如果當前URL設定為REWRITE模式的話,同樣的方法最後生成的URL地址是: 

http://<serverName>/Blog/read/id/1 

如果當前URL設定為REWRITE模式,並且設定了偽靜態字尾為.html的話,同樣的方法最後生成的URL地址是: 

http://<serverName>/Blog/read/id/1.html 

U方法還可以支援路由,如果我們定義了一個名稱為View的路由,指向Blog模組的read操作
引數是id,那麼U('
[email protected]
?id=1')生成的URL地址是: http://<serverName>/index.php/View/id/1

相關推薦

ThinkPHP URL靜態U方法的使用

首先, 在配置檔案(config.php)裡設定 URL_HTML_SUFFIX 設定靜態字尾 <?php return array( 'URL_HTML_SUFFIX'=>'.html', //隨意, 可設定其它的。 .... //其它配置資訊

thinkphp .htaccess url靜態

RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f #RewriteRule ^(.*)$ /index.php/?$1

centos下Apache伺服器ThinkPHP靜態的設定方法

windows下的apache配置在linux下有所不同,linux下檢視phpinfo下能找到mod_rewrite模組則表示載入了重寫模組,不必管配置檔案是否有有載入. 確認載入了模組後需

win主機wordpress靜態設置方法404頁面方法

面板 頁面 include bsp tle pan https get 404頁面 新建一個404.txt文檔,將以下代碼復制進去: header(“HTTP/1.1 200 OK”); $ori_qs = $_SERVER[‘QUERY_ST

爬蟲學習——URL管理器實現方法

可選 架構 緩存 sql 元素 技術分享 字段 結構 想要 url管理器一共有三種實現方法,作為個人,我們應當選擇哪種實現方法呢?答案就在下面 爬蟲的簡單架構 一、URL管理器 實現方式:有三種 1.內存中 python中set()可以直接去除重復的元素 2.關系數據

wordpress學習(四)---url靜態簡單了解

var rewrite 月份 word lob ont cal page true 在page-url.php頁面做測試 <h2>url偽靜態</h2> 接收到的pagename參數是:<? echo $wp_query->query

關於靜態的實現方法

選擇 iter ati name gpo 目錄 none lis 切換 PHP怎麽實現呢,具體方法如下: Apache服務器: 利用apache的mod_rewrite模塊 1.檢測Apache是否支持"mod_rewrite"打開您的apache安裝目錄“/apache/

thinkphp iis靜態規則

把以下程式碼儲存成web.config檔案,放到網站根目錄內即可。 <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite&g

wdcp面板下wordpress開啟靜態404解決方法

建站面板由於換成了WDCP然後worpress設定偽靜態的時候,突然發現首頁能訪問,文章頁開啟404,經過各種查閱資料,整理了下解決方法; 1.手寫在後臺【Rewrite規則管理】新增規則wordpress.conf(這裡隨意命名,為了方便,我命名為WordPress)

國外資深程式設計師的Python中類,靜態抽象方法的權威總結

Python中方法的工作方式 方法是儲存在類屬性中的函式,你可以用下面這種方式宣告和訪問一個函式 >>> class Pizza(object): ... def __init__(self, size): ...

thinkPHP 設定靜態路由後 PHP頁面接收引數

PHP檔案 public function index(Request $request) { $id=$request->only('uid'); return $id['uid']; }   route.php 路由檔案   retu

IIS7.5+WebConfig實現頁面靜態301重定向

IIS7.5+WebConfig實現頁面偽靜態和301重定向 使用URLRewriter元件在windows 2003 +iis 6.0下配置偽靜態的文章網路上一大堆。但在iis7.0或iis 7.5 環境下配置的網站基本上沒有講解的,就算有也是一些無用的程式碼段,今天好不容易配置成功了,發個日記共享一下經

URL的getFile()getPath()方法的區別

import java.net.MalformedURLException; import java.net.URL; public class dd { /** * @param args */ public static void main(Strin

Apache伺服器下ThinkPHP / ThinkCMF 靜態解決方案

下面我說下 apache 下 ,如何 去掉URL 裡面的 index.php  例如: 你原來的路徑是: localhost/index.php/index  改變後的路徑是: localhost/index  1.httpd.conf配置檔案中載入了mod_rewrite.so模組 //在APACHE裡面

PHP小菜鳥成長曆程之wamp的靜態虛擬主機配置

  之前說到用的PHP開發環境為wamp,剛開始的時候並不知道什麼是偽靜態和虛擬主機,因為wamp本來在www目錄下的檔名就可以直接輸入到位址列進行執行然後出來頁面,但是這樣過於麻煩。    當時配置的時候找了好多資料,但是最後發現,還是這個比較靠譜    按照上面的步

discuz主題列表頁靜態化設定方法(lnmp+wamp+lamp通用)

大家都知道在discuz程式中,偽靜態化後,門戶文章跟帖子內容都可以設定成功並能正常的訪問, 如果上面的示例是大家所需要的,那麼可以接續往下看,如果不是就沒有必須繼續往下看了,那麼接下來講一下怎麼實現帖子主題列表偽靜態化的方法。 第一步:【修改模板和

三種實現PHP靜態頁面的方法

*/ function mod_rewrite(){ global $_GET; $nav=$_SERVER["REQUEST_URI"]; $script_name=$_SERVER["SCRIPT_NAME"]; $nav=substr(ereg_replace("^$script_name","",ur

IIS7IIS8環境下 ThinkPHP專用URL Rewrite靜態規則

<?xml version="1.0" encoding="UTF-8"?><configuration>    <system.webServer>        <rewrite>            <rules>             

thinkphp 5.1的URL重寫,靜態設定

   Thinkphp 5.1 可以通過URL重寫隱藏應用的入口檔案index.php(也可以是其它的入口檔案,但URL重寫通常只能設定一個入口檔案),下面是相關伺服器的配置參考:Apache httpd.conf配置檔案中載入了mod_rewrite.so模組AllowOv

Win7/Windows2003下IIS6.0、IIS7.5的靜態元件安裝靜態配置方法

1)下載IIS偽靜態元件——ISAPI_Rewrite3完全破解版 ISAPI_Rewrite3非常好用,是個人見過最好用同時可以支援多站點的IIS偽靜態元件! 1、官網下載(http://www.helicontech.com/download/isapi_rewrit