2013-01-23 58 views
0

我想根據url中檢索到的值重定向一些頁面。基於獲取值的htaccess重定向

這是必要的我用htaccess做到這一點。

例如

http://www.mydomain.com/products.php?id=1040 

http://www.mydomain.com/products.php?id=1041 

http://www.mydomain.com/products.php?id=1042 

如果id的值大於1039小於1501,阿帕奇必須重定向到另一個頁面

http://www.mydomain.com/otherpage.html 

一些想法都歡迎。

謝謝先進。

回答

0

有了這樣的具體要求,我認爲在應用程序級別而不是在Apache中執行重定向會是最合適的。只需比較fo $_GET['id']的值並通過header()重定向。

無論是或者你必須寫一個相對複雜的正則表達式來搜索RewriteCond內的1040到1500之間的值,因爲常規的RewriteRule不針對查詢字符串進行操作。

0

您應該添加這樣的事情

AddDefaultCharset UTF-8 
Options +MultiViews 
RewriteEngine On 
RewriteRule condition/ http://www.mydomain.com/otherpage.html [P] 

懸停我不知道它會多麼容易得到重定向過PARAM值:|

1

嘗試:

RewriteCond %{QUERY_STRING} ^id=([0-9]+) 
RewriteCond %1 >1039 
RewriteCond %1 <1501 
RewriteRule ^/?products\.php? /otherpage.html? [L,R=301] 

第一條件組中的數字ID使其可作爲反向引用經由%1。接下來的兩個條件檢查此數字ID是否大於1039且小於1501.如果滿足所有3個條件,則將/products.php的請求重定向到/otherpage.html。末尾的?確保查詢字符串未附加到末尾

相關問題