【发布时间】:2015-09-20 00:25:42
【问题描述】:
我使用 nginx (php-fpm) 和 fatfree 框架。我的路由引擎中需要一些重定向逻辑。它看起来像:
http://example.net/page/...
除了点之外,可能还有类似的东西:
another.net/someurl
http://another.net/?local_query
another.net/path/to/article.html
它破坏了 nginx 逻辑,我看到 404 错误。
我的 nginx 配置看起来很简单:
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include /etc/nginx/conf.d/fastcgi_params.conf;
fastcgi_param SCRIPT_FILENAME /var/www/$main_host/www$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT /var/www/$main_host/www;
fastcgi_param PHP_ADMIN_VALUE upload_tmp_dir=/var/www/$main_host/tmp/upload;
fastcgi_param PHP_ADMIN_VALUE session.save_path=/var/www/$main_host/tmp/sessions;
}
所以当我使用时:
http://example.net/page/another.net/path/to/article.html
据我所知,Nginx 尝试在文件系统中查找名称为 article.html 的文件。当域后有关键字page时如何编写规则以忽略任何符号?
【问题讨论】:
-
使用另一个
location块,例如location ~ /page/
标签: php nginx url-rewriting