【发布时间】:2010-04-12 17:22:15
【问题描述】:
我正在尝试使用 nginx 进行简单的内部重写,以根据 user_agent 导航到子目录——移动浏览器转到 /mobile,否则它们转到 /www
然而,当我重写这些 url 时,似乎在重写之前处理了 index 指令,所以我最终得到了 403 禁止。
# TEST FOR INDEX
index index.php
# TEST PHONES
if ($http_user_agent ~* '(iPhone|iPod)') {
rewrite ^(.*)$ /mobile$1 break;
}
# OTHERWISE WE ARE DONE
rewrite ^(.*)$ /www$1 break;
当我关闭重写并点击主机名 (http://www.somehost.com/) 时,索引会正确显示。当它们打开时,我必须显式导航到 somehost.com/index.php 以使脚本运行...
我是否必须明确测试目录,然后重新写入 index.php 文件,还是有更简单的解决方案?
【问题讨论】:
标签: url-rewriting nginx