Перенаправление htaccess regex помещает «HTTP / 1.0» в URL

У меня есть это регулярное выражение в htaccess:

RewriteCond %{THE_REQUEST} .*?/out/([^/]+)/?(.*) [NC]
RewriteRule ^ http://%1.example.com/%2?aid=123 [NE,L,R=302]

Этот URL

www.mydomain.com/out/cars/bmw/

возвращается

http://cars.example.com/bmw/%20HTTP/1.0?aid=123

На самом деле, всегда есть % 20HTTP / 1,0 до ?помощь = 123 независимо от того, какой URL с www.mydomain.com/out/ Я попробую 🙁

Зачем? Как от этого избавиться?

Заранее спасибо!

0

Решение

Проблема в совпадении с THE_REQUEST, в котором больше, чем вы думаете. Используйте вместо этого REQUEST_URI. Что-то вроде этого:

RewriteCond %{REQUEST_URI} /out/([^/]+)/?(.*) [NC]
RewriteRule ^ http://%1.example.com/%2?aid=123 [NE,L,R=302]

Для справки:
http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector