您好,登錄后才能下訂單哦!
這篇文章主要介紹了服務器中如何去掉index.php的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇服務器中如何去掉index.php文章都會有所收獲,下面我們一起來看看吧。
服務器中去掉index.php的方法:1、打開php.ini文件,更改內容為“cgi.fix_pathinfo=1”;2、修改對應虛擬主機的配置文件;3、將“include enable-php.conf;”替換為“include enable-php-pathinfo.conf;”;4、去掉index.php,重啟lnmp即可。
url中去掉index.php方法:
THINKPHP官方論壇和網絡上很多NGINX配置教程不是太完善的。我一直比較喜歡使用lnmp.org配置服務器環境。所以本文將介紹 LNMP 配置NGINX 支持THINKPHP PATHINFO模式 。
thinkphp的url訪問:http://serverName/index.php(或者其它應用入口文件)/模塊/控制器/操作/[參數名/參數值...],這個需要支持pathinfo,Apache默認支持,而Nginx不支持。
1,修改PHP.INI 支持 PHPINOF
PHP配置文件:/usr/local/php/etc/php.ini
更改php.ini
找到:cgi.fix_pathinfo=0
更改為:cgi.fix_pathinfo=1
2.修改nginx對應配置文件
LNMP上各個版本pathinfo各個版本的設置基本一樣:
lnmp v1.1上,修改對應虛擬主機的配置文件
去掉#include pathinfo.conf前面的#,把try_files $uri =404; 前面加上# 注釋掉。
1.2, 1.3上,修改對應虛擬主機的配置文件
將include enable-php.conf;替換為include enable-php-pathinfo.conf;
修改pathinfo需要重啟nginx生效。
去掉 index.php
location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
}
}
linux中 /usr/local/nginx/conf/配置文件
windows中
注意: root配置要定位到yyyy的位置,不一定是localhost
"D:/xxxx/localhost/yyyy";
3.重啟lnmp即可。。
lnmp restart
4.設置url_mode =2
// -----------URL偽靜態后綴設置----------
'URL_MODEL'=>'2', // 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) 默認為PATHINFO 模式
注:有些文章提到nginx不支持pathinfo,需要在config文件中設置。
我沒遇到過! 下面是別人的解決方法,僅供參考。
location ~ \.php { #去掉$
root H:/PHPServer/WWW;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$; #增加這一句
fastcgi_param PATH_INFO $fastcgi_path_info; #增加這一句
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
還有人是這么配置的:
server {
listen 80;
root *****************/public_html;
server_name **************.com;
index index.html index.php index.htm;
error_page 400 /errpage/400.html;
error_page 403 /errpage/403.html;
error_page 404 /errpage/404.html;
error_page 503 /errpage/503.html;
location ~ \.php(.*)$ {
fastcgi_pass unix:/tmp/php-70-cgi.sock;
fastcgi_index index.php;
fastcgi_param script_FILENAME $DOCUMENT_ROOT$fastcgi_script_name;
fastcgi_param PATH_INFO $2;
include fcgi.conf;
########################################################################
pathinfo配置開始
########################################################################
set $path_info "";
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+\.php)(/.+)$") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param script_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
########################################################################
pathinfo配置結束
########################################################################
}
關于“服務器中如何去掉index.php”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“服務器中如何去掉index.php”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。