【发布时间】:2016-12-18 05:46:25
【问题描述】:
我是 Nginx 的新手,对于我的项目,我需要将所有请求重写为 index.php,它是请求处理程序。 我在 Apache 中使用 .htaccess 文件完成了这项工作,但现在我想让它也与 Nginx 兼容。我知道在 Nginx 上不存在 .htaccess 文件,所以我必须在 /etc/nginx/sites-available/default 中编辑虚拟主机文件,但我不知道哪个是 Nginx 等效于我的旧 Apache 规则。 这是我的旧 .htaccess 文件的内容:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !/index\.php
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^([^?]*)$ /index.php [QSA,NS,L]
在 Apache 上,所有请求都被重写为 index.php,无论这些是 PHP 脚本、静态文件还是不存在的文件(在我的项目中还有一些虚拟路径,如 /::API/ 或 /::ADMIN / 和根快捷方式 /~/),我怎样才能用 Nginx 做到这一点?
【问题讨论】:
标签: php apache .htaccess mod-rewrite nginx