URI считается нижним регистром в htaccess. Что может быть не так?

1

Некоторое время я боролся с этой проблемой. Предположим, я website.com/one/tWo на website.com/one/tWo. В PHP $_SERVER['REQUEST_URI'] one/tWo. Я думал, что это связано с переписыванием URL-адресов Apache, поэтому я проверил .htaccess и удалил все и только вышел:

RewriteEngine On
RewriteRule ^one/two http://www.gosomewhereelse.com [R=301,L]

К моему удивлению, при попытке "one/tWo", Apache фактически перенаправляет меня на www.gosomewhereelse.com.

Чтобы быть ясным, нет перенаправления, которое происходит от "one/tWo" до "one/two". URL-адрес не изменяется в адресной строке, и у него все еще есть символ верхнего регистра, но он все еще совпадает с символом ^ one/two

Я пробовал все, что мог придумать, и не мог найти решение.

  • 0
    Поскольку вы не используете флаг NC , он должен увидеть дело. Думаю, что это актуально: stackoverflow.com/questions/1998156/…
  • 0
    Я не использую флаг NC, поэтому он не должен совпадать. Насколько я знаю, NC делает регистр нечувствительным к регистру.
Показать ещё 2 комментария
Теги:
.htaccess
mod-rewrite

2 ответа

0
Лучший ответ

Оказывается, это не связано с apache или PHP. Проблема связана с сторонним программным обеспечением.

0

Это работает:

RewriteCond %{REQUEST_URI} ^/one/tWo$
RewriteRule ^(.*)$ http://www.gosomewhereelse.com [R=301,L]

Это также работает:

RewriteRule ^one/t[W]o http://www.gosomewhereelse.com [R=301,L]

Ещё вопросы

Сообщество Overcoder
Наверх
Меню