Зачем мне нужен [R] в моем RewriteRule? - PullRequest
0 голосов
/ 17 августа 2011

Я понимаю, что флаг [R] вызывает перенаправление в браузер.Насколько я понимаю, это то, что он будет «перерисовывать» URL в адресной строке браузера.

Итак,

RewriteRule test en/students/ [R]

потребуется изменить этот адрес: http://mydomain.com/test to this: http://mydomain.com/en/students

Но если я опущу [R] в приведенном выше примере, он ДОЛЖЕН по-прежнему перенести меня на страницу / en / Students, не так ли?Насколько я понимаю, он все равно должен перейти на эту страницу, но адресная строка просто не будет обновляться.

Если я ошибаюсь, пожалуйста, расскажите мне об этом.В противном случае мне понадобится помощь, чтобы понять, почему это не работает в моем случае?Это из-за RewriteRules, необходимого WordPress после этого?WordPress все портит, постоянно анализируя АКТУАЛЬНЫЙ URI, который использовался для вызова его движка, или он может получить доступ к этому «скрытому» URI, который является продуктом RewriteEngine?

Ответы [ 2 ]

0 голосов
/ 17 августа 2011

Без [R] запрос выглядит примерно так:

  1. Браузер запрашивает http://mydomain.com/test.
  2. Правило перезаписи изменяет это внутренне на http://mydomain.com/en/students.
  3. Apache возвращает браузеру содержимое http://mydomain.com/en/students. Браузер не знает, что URI был изменен внутри.

При [R] запрос выглядит примерно так:

  1. Браузер запрашивает http://mydomain.com/test.
  2. Правило перезаписи отправляет ответ в браузер, предлагая вместо него загрузить http://mydomain.com/en/students.
  3. Браузер запрашивает http://mydomain.com/en/students (и, вероятно, также меняет строку состояния).
  4. В отсутствие каких-либо других правил перезаписи Apache возвращает браузеру содержимое http://mydomain.com/en/students.

Я могу только догадываться, что в первом случае Wordpress обращается к запрошенному URI, а не к переписанному URI.

0 голосов
/ 17 августа 2011

[R] переписывает на перенаправление.Таким образом, браузер отправляется на новый URL.Нормальная перезапись выполняется сервером, и пользователь не видит, какова на самом деле цель.

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