84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
ThinkPHP 開啟REWRITE模式時,如何利用 Apache 、Nginx 重寫規則, 去掉 http://www.example.com/api.php/user/info/1880233 中的 .php 變成 http://www.example.com/api/user/info/1880233
求 apache 和 nginx 的重寫規則範例。
学习是最好的投资!
不好意思,之前沒看清楚問題
Nginx:
location ~ .php { fastcgi_pass 127.0.0.1:9000; #根据实际情况修改 fastcgi_index index.php; include fastcgi_params; #这一段是让 Nginx 支持 PATH_INFO set $real_script_name $fastcgi_script_name; if ($fastcgi_script_name ~ "^(.+?.php)(/.+)$") { set $real_script_name ; set $path_info ; } fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param PATH_INFO $path_info; } location / { if (!-e $request_filename) { rewrite ^/api/(.*)$ /api.php/ last; break; } }
Apache: 還是參考這個連結裡的介紹:http://doc.thinkphp.cn/manual/url_rewrite.html 但把程式碼改成如下這樣:
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^/api/(.*)$ api.php/ [QSA,PT,L] </IfModule>
並把.htaccess檔放到 api.php 的資料夾裡
不好意思,之前沒看清楚問題
Nginx:
Apache:
還是參考這個連結裡的介紹:http://doc.thinkphp.cn/manual/url_rewrite.html
但把程式碼改成如下這樣:
並把.htaccess檔放到 api.php 的資料夾裡