chelovekmuravei
@chelovekmuravei
\(-_-)/ раз два три четыре

Почему возникает 400 ошибка при использовании символа % в url?

Почему возникает 400 ошибка при использовании символа % в url?

Ссылки как пример, кликать необязательно ;)

http://www.main.com/test% выдаёт:
Bad Request
Your browser sent a request that this server could not understand.

http://www.main.com/test%test выдаёт:
400 Bad Request
nginx/1.7.4

Если использовать % после ? все нормально

RewriteEngine on
Options All -Indexes

RewriteCond %{HTTP_HOST} ^main.com
RewriteRule (.*) http://www.main.com/$1 [R=301,L]

RewriteBase /
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^resource/(.*)$ resource/$1 [L]
RewriteRule ^.*$ [NC,L]
RewriteRule ^.*$ index.php [NC,L]
  • Вопрос задан
  • 272 просмотра
Решения вопроса 2
Stalker_RED
@Stalker_RED
Доктор, когда я делаю вот так у меня болит. — А вы так не делайте


Потому что спецсимвол.
Ответ написан
Комментировать
@nirvimel
Если у вас в корне сайта лежит файл /test% , то ссылка на него будет выглядеть так: http://www.main.com/test%25

А это http://www.main.com/test% - неправильно сформированный URL.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
saboteur_kiev
@saboteur_kiev
software engineer
% это префикс, за которым должен следовать числовой код символа.
? это разделитель между URL и параметрами.

Почитайте про спецсимволы в URL
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы