nginx url重写为CMS直接到/[user]/index.php

时间:2012-08-29 18:29:05

标签: url url-rewriting nginx

我正试图转移到nginx ......

我使用以下mod_rewrite命令在apache中运行应用程序:

RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/([a-z\-0-9]+)/(.*)$ /$1/index.php/$2 [E=USERKEY:$1,L]

PHP支持我们使用以下形式的进程项:

/[USERKEY]/index.php/[module]/[action]/[etc...]

我们希望将每个匹配(磁盘上没有静态文件)传递给 index.php 文件,以便以下列格式进行处理:

http://www.myapp.com/bobsmith/rockstar/add?q=45678

会转化为:

/var/www/some_static_path/bobsmith/index.php/rockstar/add?q=45678

我知道一些CMS产品做了类似的事情,我找到了很多例子,但我们有这个奇怪的USERKEY有效负载(是index.php的路径的一部分),导致我的配置出现问题。另外,我在index.php之后努力处理斜杠(/)。错误日志将显示:

"/bobmsith/index.php/login" failed (20: Not a directory)

尝试浏览时:http://www.myapp.com/bobsmith/login

我尝试过重写,如果(s),不同类型的位置正则表达式,try_files,fastcgi_split_path_info ......我找不到鸡尾酒的成功!

任何/所有帮助表示感谢;谢谢大家!

0 个答案:

没有答案