.htaccess - 301 перенаправить на новый URL, затем молча перенаправить обратно, чтобы скрыть уродливый URL - PullRequest
0 голосов
/ 12 октября 2011

Я только что изменил схемы URL, поэтому example.com/ugly теперь example.com/nice

example.com / ugly по-прежнему обрабатывает запрос - .htaccess имеет это правило:

RewriteRule ^nice$ example.com/ugly [PT,L,QSA]

Это много работает.

Теперь я бы хотел перенаправить example.com/ugly на example.com/nice, но все еще должен обрабатывать example.com/ugly.Примерно так:

  1. Перенаправить example.com/ugly на example.com/nice (301)
  2. Внутренне перенаправить example.com/nice на example.com/ugly, не даваяпользователь знает, и без повторения шага 1

Простые способы сделать это, конечно, приводят к циклу.Есть ли способ сделать это с .htaccess?Если нет, есть ли другой способ?

1 Ответ

1 голос
/ 13 октября 2011

Лучший из известных мне способов - использовать PHP в целевом файле. Вот примерно то, что вы хотели бы добавить:

if($_SERVER['REQUEST_URI'] == '/index.php') header("Location: http://".$_SERVER['HTTP_HOST']."/");

Очевидно, что вам нужно добавить некоторые другие переменные для обработки любых запросов, но это основная идея.

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