nginx配置ThinkPHP5二級目錄訪問

轉自http://www.javashuo.com/article/p-xndazpmg-ex.htmlphp

 

能夠經過 http://www.mracale.com/項目名/模塊名/方法名 進行訪問css

第一步

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

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

location ~ .php($|/)

  而不是瀏覽器

location ~ .php$

例如以下配置:php7

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隱藏spa

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 來進行訪問了。.net

其實nginx的二級目錄配置都是同樣的套路,這裏也能夠參考之前寫過的另外一篇配置記錄:nginx配置phalconunix

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

location ~ .*\.(css|js|gif|jpg|jpeg|png|bmp|swf)$ {
     root         /home/html;
     expires      30d;
 }
相關文章
相關標籤/搜索