【发布时间】:2014-01-06 08:13:59
【问题描述】:
我尝试在 nginx 上运行我的网站,所以在前面我做了一些配置:
server {
listen 80;
server_name domain.com;
root /var/www/domain.com/www;
index index.php;
# Use FastCGI with PHP-FPM for all things PHP
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /var/www/domain.com/www$fastcgi_script_name;
include fastcgi_params;
}
}
这没关系。问题是当我尝试运行管理区域时。管理面板位于子目录 /var/www/domain.com/www/admin 中,并且有一个 index.php 文件。在 apache 中,我只是放了另一个带有重写规则的 .htaccess 文件:
RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css|htc)$ index.php
一切正常,但如何在 nginx 中做到这一点?
我的网站是用前台和管理区域构建的。当您转到 domain.com/some_url.html 并且管理区域在 domain.com/admin/some_url.html 时运行前面。目录结构是这样的:
site/
/module/
/public_html/
index.php
/admin/
index.php
因此,当您运行 domain.com/admin/ 时,所有内容都应提交到 /admin/index.php 但现在当我转到 domain.com/admin/ 时会显示管理区域,但是当我单击某些链接时,所有流量都是提交到前面的 index.php 文件。
最好的问候!
【问题讨论】:
标签: .htaccess mod-rewrite nginx