thinkPHP5.0架構URL訪問的方法分享

來源:互聯網
上載者:User
這篇文章主要介紹了thinkPHP5.0架構URL存取方法,具體分析了thinkPHP5.0架構的URL路徑結構與常見存取方法,以及隱藏入口檔案的實現技巧,需要的朋友可以參考下

本文執行個體講述了thinkPHP5.0架構URL存取方法。分享給大家供大家參考,具體如下:

URL設計

ThinkPHP5.0在沒有啟用路由的情況下典型的URL訪問規則是:

http://serverName/index.php(或者其它應用入口檔案)/模組/控制器/操作/[參數名/參數值...]

支援切換到命令列訪問,如果切換到命令列模式下面的訪問規則是:

>php.exe index.php(或者其它應用入口檔案) 模組/控制器/操作/[參數名/參數值...]

可以看到,無論是URL訪問還是命令列訪問,都採用PATH_INFO訪問地址,其中PATH_INFO的分隔字元是可以設定的。

注意:5.0取消了URL模式的概念,並且普通模式的URL訪問不再支援,如果不支援PATHINFO的伺服器可以使用相容模式訪問如下:

http://serverName/index.php(或者其它應用入口檔案)?s=/模組/控制器/操作/[參數名/參數值...]

必要的時候,我們可以通過某種方式,省略URL裡面的模組和控制器。

URL大小寫

預設情況下,URL是不區分大小寫,也就是說 URL裡面的模組/控制器/操作名會自動轉換為小寫,控制器在最後調用的時候會轉換為駝峰法處理。

例如:

http://localhost/index.php/Index/Blog/read// 和下面的訪問是等效的http://localhost/index.php/index/blog/read

如果訪問下面的地址

http://localhost/index.php/Index/BlogTest/read// 和下面的訪問是等效的http://localhost/index.php/index/blogtest/read

在這種URL不區分大小寫情況下,如果要訪問駝峰法的控制器類,則需要使用:

http://localhost/index.php/Index/blog_test/read

如果希望URL訪問嚴格區分大小寫,可以在應用設定檔中設定:

// 關閉URL中控制器和操作名的自動轉換'url_convert'  => false,

一旦關閉自動轉換,URL地址中的控制器名就變成大小寫敏感了,例如前面的訪問地址就要寫成:

http://localhost/index.php/Index/BlogTest/read

但是下面的URL訪問依然是有效:

http://localhost/index.php/Index/blog_test/read

下面的URL訪問則無效:

http://localhost/index.php/Index/blogtest/read

需要注意:路由規則中定義的路由地址是按照控制器名的實際名稱定義(區分大小寫)。

隱藏入口檔案

在ThinkPHP5.0中,出於最佳化的URL訪問原則,還支援通過URL重寫隱藏入口檔案,下面以Apache為例說明隱藏應用入口檔案index.php的設定。

下面是Apache的配置過程,可以參考下:

1、httpd.conf設定檔中載入了mod_rewrite.so模組
2、AllowOverride None 將None改為 All
3、在應用入口檔案同級目錄添加.htaccess檔案,內容如下:

<IfModule mod_rewrite.c>Options +FollowSymlinks -MultiviewsRewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]</IfModule>
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.