2011-11-22 101 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永久以及你會得到你想要的網址沒有查詢字符串

相關問題