Как перенаправить ошибочный URL - PullRequest
0 голосов
/ 29 июля 2011

Я только что заметил, что иногда (даже если указан неправильный URL-адрес) загружается совершенно нормально.Как они этого добиваются?Я имею в виду, предположим, что вы нажимаете на ссылку, которая кажется хорошей, например, www.foo.com, но в конце она содержит пробел, который будет отображаться в адресной строке, когда www.foo.com% 20 некоторым сайтам удается перенаправить эту ссылку.на их правильный URL, в то время как другие просто ломаются.Как этого достичь?Я предполагаю, что это как-то связано с .htaccess, но я понятия не имею, что и где делать.

URL, который я бы хотел перенаправить, на самом деле выглядит так: http://foo.com/%C2%A0

Я получаю следующее сообщение об ошибке:

Запрошенный URL /% C2% A0 не найден на этом сервере.

Как я могу сделать это перенаправление?До сих пор я придумал:

RewriteEngine on
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /[^%?\ ]*\%
RewriteCond %{REQUEST_URI} !^/
RewriteRule ^(.*)$ http://www.foo.com/ [R=301,L]

, но он совсем не работает

1 Ответ

0 голосов
/ 29 июля 2011

URL Rewrite будет версия IIS, которая может существовать в других формах, если вы хотите посмотреть на переписывание URL, предполагая, что вы имеете в виду такой случай.

Незабывайте, что браузеры могут делать определенные предположения о том, что кто-то вводит, так что, если кто-то вводит «foo.com», браузер может по умолчанию обрезать пробелы, а не URL-адреса кодировать текст.Если «http://foo.com" терпит неудачу, то он может попробовать» http://www.foo.com" для другой идеи, так как это можно рассматривать как простую интерпретацию, чтобы понять, что кто-то печатает. Если оба не удаются, то это может просто Google текст, полагая, что адресная строка должна бытьтрактуется как окно поиска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...