【发布时间】:2011-08-05 21:53:34
【问题描述】:
我希望有人能回答“为什么”会这样:
有时我可以使用:
...
RewriteRule ^(.*)$ index.php/$1 [L]
然后有时上述方法不起作用,我必须使用:
...
RewriteRule ^(.*)$ index.php?/$1 [L]
主要区别在于添加了? ...我通常会在不同的系统设置上看到这种情况,fastcgi vs module vs cgi,但还没有做足够的设置来查看模式。
我猜这与 apache/setup 如何解析 path/path_info 数据有关。欢迎任何想法,理想情况下,我想对为什么会发生这种情况以及何时发生有一个可靠的解释。
在同一个线程上...有时 Apache 不输出 PATH_INFO 环境变量,这可能是造成这种情况的根本原因,但我想知道为什么会这样。
【问题讨论】:
-
可能由
AcceptPathInfoapache 配置选项管理。 -
我玩过
AcceptPathInfo,但它似乎没有任何影响,至少看起来是这样。 -
您在谈论 wordpress 或 codeigniter 还是两者兼而有之?因为,它们都实现了自己的路由规则。
-
codeigniter 主要是,我不确定我是否在 WordPress 中遇到过这种情况(我认为 WP 的路由比 CI 更好,他们保持简单并且更多地依赖 PHP)
-
你试过
qsappend|QSA吗?
标签: apache wordpress codeigniter mod-rewrite friendly-url