server {
listen 80;
server_name phpcms.me m.phpcms.me;
root /mnt/hgfs/www/open/phpcms;
charset utf-8;
index index.html index.php;
try_files $uri $uri/ @rewrite;
location ~ \.php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include /etc/nginx/fastcgi.conf;
}
location @rewrite {
rewrite ^/(.*)$ /index.php?_url=/;
}
}
這個是我的nginx配置,網站根目錄下有一個qiantu目錄,裡面有靜態的內容頁,不存在文件index.html。
透過 phpcms.me/qiantu/index.html可以存取列表頁首頁,是走的@rewrite規則
但是透過 phpcms.me/qiantu/ 就是直接403 forbidden了,根本沒走@rewrite規則。
但是刪除根目錄下的qiantu目錄 訪問 phpcms.me/qiantu/ 又可以走@rewrite規則進行訪問了。
想問下怎樣保留根目錄下的qiantu目錄的同時,透過存取phpcms.me/qiantu/ 可以讓其透過location進行匹配而不是直接403 forbidden
這裡的qiantu目錄只是個例子 ,不是固定的,因此不能透過 location = /qiantu/ {} 進行匹配。
chmod下試試