【发布时间】:2009-03-01 08:20:26
【问题描述】:
我已经使用 CakePHP 重写了我的 Web 应用程序,但现在我需要将旧格式的 url 重定向到我的新 url 格式。我似乎无法添加自己的自定义 mod 重写规则。我已将它添加到主 cakephp 重写规则之上,但我得到了一个无限重定向循环。我只想在 cakephp 重写发生之前将http://mysite.com/index.php?action=showstream&nickname=user 重定向到http://mysite.com/user。
编辑:好的,所以现在当满足条件时,它正在重定向,但它会将原始查询字符串附加到末尾。我假设这是由于 CakePHP 重写规则中的 QSA 标志,但我的印象是我的规则中的“L”会阻止它执行......
RewriteEngine On
RewriteCond %{QUERY_STRING} ^action\=showstream&nickname\=(.*)$
RewriteRule ^.*$ http://mysite.com/%1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
【问题讨论】:
-
我已经更新了我原来的帖子。任何帮助将不胜感激!
-
向替换中添加一个空查询,如我的示例所示。
标签: mod-rewrite cakephp