正则表达式去掉URL重写文件夹上的查询字符串

时间:2011-05-03 18:20:49

标签: regex .htaccess mod-rewrite

我正在将整个文件夹重定向到其上方的重复文件夹中。我启用了mod_rewrite,我可以将什么类型的正则表达式放入.htaccess中以从下面的URL中删除:?q=dup_folder/inspection11.htm?文件夹中有多个文件,名称各有不同。

.htaccess中的重定向代码:

Redirect 301 /dup_folder/ http://www.example.biz/

重定向到:

http://www.example.biz/inspection11.htm?q=dup_folder/inspection11.htm

但我希望它重定向到:

http://www.example.biz/inspection11.htm

2 个答案:

答案 0 :(得分:1)

将这些行放在.htaccess文件中:

Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteRule ^dup_folder/?$ http://www.example.biz/inspection11.htm? [R=301,L,NC]

使用?结束重定向的网址以删除原始URI中可能包含的任何查询字符串非常重要,例如dup_folder/?foo=bar将重定向到http://www.example.biz/inspection11.htm丢弃原始查询字符串{ {1}}。

foo=bar用于忽略大小写比较

答案 1 :(得分:0)

RewriteEngine on
RewriteRule ^/dup_folder/$ http://www.example.biz/inspection11.htm [r=301,l]