带问号的htaccess

时间:2012-04-08 10:01:37

标签: .htaccess

我有网址

http://www.domain.com/folder/?variable=1

我想做一个mod重定向到index.cfm,文件夹作为路径变量输入,变量作为第二个变量..前三行用于我的网站,我遇到了最后一位的问题< / p>

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.cfm?path=$1 [L]
RewriteRule (.*)\?(.*)$ /index.cfm?path=$1&$2 [L]

感谢

2 个答案:

答案 0 :(得分:1)

您需要添加QSA(或qsappend)标记,如下所示:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.cfm?path=$1 [L,QSA]

这将使mod-rewrite将任何原始查询字符串附加到子请求。

答案 1 :(得分:1)

我在重定向其中包含?的网址时遇到了问题。

网址如下:/index/slug_with_questionmark?.html

适合我的解决方案:

RewriteRule ^index/slug_with_questionmark(.*) http://yourdomain.com/newurl? [R=301,L]

在第二个声明中注意?。这个愚弄浏览器,所以它很好地重定向。