2015-10-19 63 views
2

我有破折號在我的查詢字符串,之後,從.htaccess文件重定向dahes改爲%(252D)請檢查下面提及的htaccess規則.htaccess文件添加特殊字符後重定向

RewriteCond %{THE_REQUEST} ^GET\ /hotels-details\?hotelcode=(\S+)&hotel_key=(\S+)&hnm=(\S+)&hct=(\S+) [NC] 
RewriteRule^/hotel/%3-in-%4-%1-%2? [R=301,L,B] 
RewriteRule ^hotel/(.*)-in-(.*?)-(\d+)-(\d+)/?$ /hotels-details/hotelcode=$3&hotel_key=$4&hnm=$1&hct=$2 [L] 

回答

1

您需要刪除B標誌和使用這樣的:

RewriteCond %{THE_REQUEST} /hotels-details\?hotelcode=([^\s&]+)&hotel_key=([^\s&]+)&hnm=([^\s&]+)&hct=([^\s&]+) [NC] 
RewriteRule^/hotel/%3-in-%4-%1-%2? [R=301,L,NE] 

RewriteRule ^hotel/([^-]+)-in-([^-]+)-(\d+)-(\d+)/?$ hotels-details/hotelcode=$3&hotel_key=$4&hnm=$1&hct=$2 [L,QSA] 
+0

它的工作,但顯示錯誤404(未找到) –

+1

它的工作謝謝:) –

+0

我們只是改變服務器就像它顯示錯誤:請求超過了 限制的10個內部重定向由於可能的配置錯誤。如果需要,使用 'LimitInternalRecursion'來增加限制。使用'LogLevel 調試'來獲得回溯。請幫助 –