作者系統(tǒng)是Ubuntu,CentOS及其他linux發(fā)行版請(qǐng)自行變更
html' target='_blank'>PHP框架是ThinkPHP5.0,官方文檔說的有些模糊,所以自行補(bǔ)充了一下
有錯(cuò)誤歡迎隨時(shí)指出
可以通過URL重寫隱藏應(yīng)用的入口文件index.php,下面是相關(guān)服務(wù)器的配置參考:
[Apache]1.啟用rewrite模塊
2.sudo a2enmod rewrite 或者 sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
3.編輯配置文件/etc/apache2/apache2.conf,找到自己web根目錄對(duì)應(yīng)的位置
Directory /var/www/ Options Indexes FollowSymLinksAllowOverride NoneRequire all granted /Directory
4.將AllowOverride None 改為AllowOverride All
5.重啟服務(wù)sudo service apache2 restart
6.把下面的內(nèi)容保存為.htaccess文件放到應(yīng)用入口文件的同級(jí)目錄下(默認(rèn)已創(chuàng)建,如果沒有自己創(chuàng)建)
IfModule mod_rewrite.c Options +FollowSymlinks -MultiviewsRewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L] /IfModule[Nginx]
在Nginx低版本中,是不支持PATHINFO的,但是可以通過在Nginx中配置轉(zhuǎn)發(fā)規(guī)則實(shí)現(xiàn),
編輯文件/etc/nginx/sites-available/default:
server { // …..省略部分代碼 root /var/www/html; //找到這個(gè)模塊,然后填入下面的配置 location / { // …..省略部分代碼 if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; }
其實(shí)內(nèi)部是轉(zhuǎn)發(fā)到了ThinkPHP提供的兼容URL,利用這種方式,可以解決其他不支持PATHINFO的WEB服務(wù)器環(huán)境。
如果你的應(yīng)用安裝在二級(jí)目錄,Nginx的偽靜態(tài)方法設(shè)置如下,其中/tp5/public/是所在的目錄名稱。
location /tp5/public/ { if (!-e $request_filename){ rewrite ^/tp5/public/(.*)$ /tp5/public/index.php?s=/$1 last;}
原來的訪問URL:
http://serverName/index.php/模塊/控制器/操作/[參數(shù)名/參數(shù)值...]
設(shè)置后,我們可以采用下面的方式訪問:
http://serverName/模塊/控制器/操作/[參數(shù)名/參數(shù)值...]
如果你沒有修改服務(wù)器的權(quán)限,可以在index.php入口文件做修改,這不是正確的做法,并且不一定成功,視服務(wù)器而定,只是在框架執(zhí)行前補(bǔ)全$_SERVER[ PATH_INFO ]參數(shù)
$_SERVER[ PATH_INFO ] = $_SERVER[ REQUEST_URI
最后重啟服務(wù)器
sudo service nginx restart
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,更多相關(guān)內(nèi)容請(qǐng)關(guān)注PHP !
相關(guān)推薦:
Nginx中Location的配置方法
使用nginx在一臺(tái)服務(wù)器部署多個(gè)Web Server
以上就是ThinkPHP5.0 Linux Apache/Nginx重寫URL配置的詳細(xì)內(nèi)容,PHP教程
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
|
新聞熱點(diǎn)
疑難解答
圖片精選