2017-10-05 38 views
0

我在我的htaccess文件以下行...爲什麼一個htaccess重定向工作,但不是另一個,即使它們格式完全一樣?

RewriteRule ^poolpage.php?poolid=9f30d1c77b91aca6318d179ad5df2b7 /poolpage.php?poolid=9f30d1c77b91aca6318d179ad5df2b7a [NC,L] 
RewriteRule ^poolpage.php?poolid=c4899d49e0a26b47bb5d3fd85f2c429a /poolpage.php?poolid=c4899d49e0a26b47bb5d3fd85f2c429 [NC,L] 

注意:只有在兩個不同的是每個URL的最後一個字符。

第一個重定向罰款。第二個不是。

任何想法如何發生?

+0

access_log說什麼? – LordNeo

+0

不知道存在。谷歌搜索和下載原始訪問日誌,並安裝7zip能夠查看它。它是一個大文件,但是我搜索了特定的ID(即9f30d1c77b91aca6318d179ad5df2b7a),並且它沒有在任何地方找到它,所以我假設這意味着訪問日誌中沒有與此重定向相關的內容。 – user3304303

+0

當您訪問鏈接時,它應該顯示一些內容,它可以是一個簡單的「200 OK」響應(服務器發出鏈接原樣)或顯示重要的重定向文件。如果您在共享主機中,access_log可能會有某種延遲。嘗試找到原始access_log文件。 – LordNeo

回答

2

您無法在RewriteRule中測試查詢字符串。改用:

RewriteCond %{QUERY_STRING} (?:^|&)poolid=9f30d1c77b91aca6318d179ad5df2b7(?:&|$) [NC] 
RewriteRule ^poolpage\.php$ /poolpage.php?poolid=9f30d1c77b91aca6318d179ad5df2b7a [NC,L] 

RewriteCond %{QUERY_STRING} (?:^|&)poolid=c4899d49e0a26b47bb5d3fd85f2c429a(?:&|$) [NC] 
RewriteRule ^poolpage\.php$ /poolpage.php?poolid=c4899d49e0a26b47bb5d3fd85f2c429 [NC,L] 
相關問題