我正努力在nginx上创建一个简单的重写url.
我的配置如下所示:
location /foo/bar {
rewrite ^/(.+)$ /index.php?p=$1 break;
}
Run Code Online (Sandbox Code Playgroud)
例如/foo/bar/baz应该/foo/bar/index.php?p=baz(当然在内部)
但是,通过访问的所有内容都会/foo/bar/触发位于根目录下的index.php的下载.我如何让它工作?
我也试过使用try_files但无法弄清楚如何排除/foo/bar/路径$uri.
Chu*_* Ma 10
更改
rewrite ^/(.+)$ /index.php?p=$1 break;
Run Code Online (Sandbox Code Playgroud)
至
rewrite ^/(.+)$ /index.php?p=$1 last;
Run Code Online (Sandbox Code Playgroud)
基于http://wiki.nginx.org/HttpRewriteModule#rewrite,
last - 完成当前重写指令的处理并重新启动该过程(包括重写),并搜索来自所有可用位置的URI匹配.
[编辑]使用break将保持在同一位置块内.在您的情况下,该位置块内没有其他规则.因此,默认情况下,nginx会将其作为文件请求提供.
| 归档时间: |
|
| 查看次数: |
2807 次 |
| 最近记录: |