2015-10-19 4 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 debug', чтобы получить обратную трассировку. Помощь в PLS –

Смежные вопросы