2013-07-01 2 views
0

У меня есть сайт, который был преобразован в ExpressionEngine из другой платформы блога, и я получаю кучу ошибок обхода от ранее проиндексированных URL-адресов, которые теперь приводят к страницу с ошибкой, потому что ExpressionEngine не позволяет определенным символам в URL-адресах.Как перенаправить URL-адреса в строку запроса для перенаправления htaccess

URL-адреса, которые вызывают ошибки следуют одна из трех моделей:

http://www.example.com/general/404/?404%3Bhttp://old.example.com:80/old-blog/random/segments 

или

http://www.example.com/blog/?404%3Bhttp://old.example.com:80/old-blog/random/segments 

или

http://www.example.com/blog/Default.aspx?404;http://old.example.com:80/old-blog/random/segments 

я смог перенаправить URLs с третьего пример с использованием этого кода:

RewriteRule ^blog/Default.aspx?/?$ http://www.example.com/general/404/? [L,R=301] 

Есть ли способ перехватить другие URL-адреса с помощью htaccess, прежде чем они попадут в EE и перенаправят их на мою страницу 404: http: www.example.com/general/404/? Я не уверен, как настроить таргетинг на них, потому что нет ничего раньше? в сегменте URL-строки строки запроса.

ответ

1

Try:

RewriteCond %{QUERY_STRING} ^404(%3B|;) [NC] 
RewriteRule^http://www.example.com/general/404/? [L,R=301] 
Смежные вопросы