2011-11-22 33 views
0

我的这些线,让我重定向网页不改变网址:htaccess的重定向不看查询字符串

RewriteCond %{REQUEST_URI} ^/samples.php [OR] 
RewriteCond %{REQUEST_URI} ^/fruits.php 
RewriteRule ^(.*)$ /storepage.php 

我怎么可以这样做,但这次与查询字符串?例如,文件samples.php?hash=5yh4w6w46h6hy4仍然会像上面一样重定向到/storepage.php而不更改URL。文件storepage.php然后提起查询字符串并显示与其相关的内容。

查询字符串是散列,因此无法预测其值。

+1

你可以添加'QSA'(查询字符串追加)到你的RewriteRule ...'重写规则^(。*)$ /storepage.php [QSA]' – prodigitalson

+1

你想重写它,但*删除*查询字符串?我认为默认情况下查询字符串会被追加,即使没有QSA也要重写,除非在目标中有一个“?”。 –

+0

乔恩是正确的:默认情况下查询字符串被追加,除非你改变它?在这种情况下,你需要'[QSA]'。它应该按原样工作。如果没有,你能否提供更多关于什么不起作用的细节。 –

回答

0

我已经解决了这个情况,请参见下面的代码将帮助你 请试试这个

RewriteCond %{REQUEST_URI} ^/samples.php$ [OR] 
RewriteCond %{REQUEST_URI} ^/fruits.php$ 
RewriteCond %{QUERY_STRING} ^hash=5yh4w6w46h6hy4$ 
RewriteRule ^(.*)$ http://example.com/storepage.php? [R=301,L] 

这将重定向URL永久以及你会得到你想要的网址没有查询字符串

相关问题