重定向URL以包含?那是失踪的

时间:2012-06-22 19:28:12

标签: regex apache .htaccess

如何更换网址(在htaccess文件中),如下所示: http://example.com/linkName

有了这个: http://example.com/?linkName

我还想确保这样的链接不受影响: http://example.com/redirect.php?linkName

我无法弄清楚正则表达式。

1 个答案:

答案 0 :(得分:2)

对于任何目录:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*/|)(.*)$ $1?$2 [L,QSA]

这会将http://mysite.com/dir/linkName重定向到http://mysite.com/dir/?linkName


仅限根目录:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(/?)(.*)$ $1?$2 [L,QSA]

这会将http://mysite.com/dir/linkName重定向到http://mysite.com/?dir/linkName