nginx配置ThinkPHP5二級目錄訪問


可以通過 http://www.mracale.com/項目名/模塊名/方法名 進行訪問

第一步

首先,你要確保在不配置二級目錄的情況下,可以通過瀏覽器訪問到。例如:http://www.mracale.com/blog/index.php?s=index/index/index

如果不能正常訪問,報404錯誤,建議看一看你的nginx配置中是如何處理php的。因為ThinkPHP中index.php並不一定都是在URL中末尾出現的,所以要使用

location ~ .php($|/)

而不是

location ~ .php$

例如如下配置:

location ~ \.php($|/) {
    root           /home/html;
    fastcgi_pass   unix:/var/run/php/php7.2-fpm.sock;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

第二步

進行URL重寫,將默認訪問URL中的index.php?s=通過rewrite隱藏

location /blog/ {
    index index.php index.html index.htm;
    if (!-e $request_filename){
        rewrite ^/blog/(.*)$ /blog/index.php?s=$1 last;
    }
}

這樣就可以通過 http://www.mracale.com/blog/index/index/index 來進行訪問了。

其實nginx的二級目錄配置都是一樣的套路,這里也可以參考以前寫過的另一篇配置記錄:nginx配置phalcon

有的小伙伴配置后出現訪問資源文件報錯模塊不存在錯誤,這里只需添加對靜態資源文件的特殊處理即可,例如:

location ~ .*\.(css|js|gif|jpg|jpeg|png|bmp|swf)$ {
     root         /home/html;
     expires      30d;
 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM