htaccess重定向目录查询字符串

时间:2015-09-01 07:37:03

标签: regex apache .htaccess mod-rewrite redirect

我试图找到一种方法来重定向这些网址:

http://example.com/some-directory-name/
http://example.com/some-directory-name

到这个网址:

http://example.com?post=some-directory-name

到目前为止,我已经得到了这个:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule ^(.*)$ http://example.com?post=$1 [L,R=302]

但所有这一切都是将我重定向到此网址并导致重定向循环:

http://example.com/?post=

我认为[L]标签会导致规则无法再次应用?另外,为什么在查询字符串之前添加斜杠并抛弃$ 1部分?

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

当查询字符串已经存在时,您需要使用std::unordered_set来停止重定向:

RewriteCond