2016-02-23 106 views
1

我有這個環節,我訪問:阿帕奇htacces重定向到404

http://domain.com/search/csgo/US/nameorip/?matching=dust2 

的.htaccess看起來是這樣的:

RewriteRule ^search/([a-z_]+)/([A-Z_]+)/([a-z]+)/?matching=(.*)?$ servers.php?game=$1&location=$2&query_by=$3&matching=$4 [NC,L] 

後,我進入這個環節,我也重定向的404頁。爲什麼?我的.htacces文件有什麼問題?

編輯:我閱讀文檔,我認爲一個問題是在matching,對吧?

+2

這是正確的。您無法檢查重寫模式中的查詢字符串。您需要使用'RewriteCond%{QUERY_STRING}^matching =([^&])$ [NC]'來檢查它。 –

+0

我的道歉,把'+ +留在那裏 - 應該是'[^&] +',如下面的答案。 –

回答

3

你可以試試:

RewriteCond %{QUERY_STRING} ^matching=([^&]+)$ [NC] 
RewriteRule ^search/([a-z_]+)/([A-Z_]+)/([a-z]+)/?$ servers.php?game=$1&location=$2&query_by=$3&matching=%1 [NC,L]