由於項目需要,用ThinkPHP開發的程序鏈接要去除index.php下面說下如何解決。
一.Nginx方法
由於nginx不支持PATH_INFO,所以需要進入linux終端找到nginx 的配置文件nginx.conf添加如下代碼:
location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } }
使用如下:
server { listen 80; server_name www.blhere.com; index index.html index.htm index.php; root /data/htdocs/wwwroot/www; #limit_conn crawler 20; location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } } location ~ .*\.(php|php5)?$ { #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fcgi.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 1h; } }
二.apache
[ Apache ]
httpd.conf
配置文件中加載了mod_rewrite.so
模塊AllowOverride None
將None
改為All
- 把下面的內容保存為
.htaccess
文件放到應用入口文件的同級目錄下<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>
有時候index.php后面加加? ---->index.php?/
參考:https://www.kancloud.cn/manual/thinkphp5_1/353955
轉: https://www.cnblogs.com/behindman/p/8667731.html