我在本地服务器(即apache服务器)上有我的项目,并且在我的.htaccess文件中有一些重写规则来修改url,并且一切正常,但是我只是将项目移到具有nginx的生产服务器上发生索引页面正确显示的情况,当我尝试访问任何其他链接时,它抛出错误404页面而不是nginx。下面是我对apache服务器的重写规则,也是我的nginx服务器的当前设置
FOR APACHE SERVER
Options +FollowSymlinks
RewriteEngine On
# deal with admin first
RewriteCond %{REQUEST_URI} ^/trobay/(admin)
RewriteRule ^admin/assets/(.*)$ backend/web/assets/$1 [L]
RewriteRule ^admin/css/(.*)$ backend/web/css/$1 [L]
RewriteRule ^admin/js/(.*)$ backend/web/js/$1 [L]
RewriteRule ^admin/img/(.*)$ backend/web/img/$1 [L]
RewriteRule ^admin/uploads/(.*)$ backend/web/uploads/$1 [L]
RewriteCond %{REQUEST_URI} ^/trobay/(admin)
RewriteRule ^.*$ backend/web/index.php [L]
RewriteCond %{REQUEST_URI} ^/trobay/(assets|css)
RewriteRule ^assets/(.*)$ frontend/web/assets/$1 [L]
RewriteRule ^css/(.*)$ frontend/web/css/$1 [L]
RewriteRule ^js/(.*)$ frontend/web/js/$1 [L]
RewriteRule ^plugins/(.*)$ frontend/web/plugins/$1 [L]
RewriteRule ^img/(.*)$ frontend/web/img/$1 [L]
RewriteRule ^item_img/(.*)$ frontend/web/item_img/$1 [L]
RewriteRule ^uploads/(.*)$ frontend/web/uploads/$1 [L]
RewriteRule ^itemImg/(.*)$ frontend/web/itemImg/$1 [L]
RewriteCond %{REQUEST_URI} !^/trobay/(frontend|backend)/themes/
RewriteCond %{REQUEST_URI} !^/trobay/(frontend|backend)/web/(uploads|img|item_img|itemImg)/
RewriteCond %{REQUEST_URI} !^/trobay/(frontend|backend)/web/(assets|css|js|plugins)/
RewriteCond %{REQUEST_URI} !index.php
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ frontend/web/index.php
当前的NGNIX设置
server {
listen 80;
server_name _;
access_log /data/wwwlogs/access_nginx.log combined;
root /data/wwwroot/default;
index index.html index.htm index.php;
#error_page 404 /404.html;
#error_page 502 /502.html;
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
location ~ [^/]\.php(/|$) {
#fastcgi_pass remote_php_ip:9000;
fastcgi_pass unix:/dev/shm/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
expires 30d;
access_log off;
}
location ~ .*\.(js|css)?$ {
expires 7d;
access_log off;
}
location ~ /\.ht {
deny all;
}
}
请问有没有办法我可以对nginx使用相同的重写规则,或者有其他解决此问题的方法,谢谢您的帮助