PHP URL переписывание - PullRequest
       5

PHP URL переписывание

0 голосов
/ 08 октября 2009

Я устанавливаю некоторые правила перезаписи на сервере Apache, используя mod_rewrite. Мне было интересно, можно ли написать правило, которое будет перенаправлять пользователя на домашнюю страницу, если страница не найдена, т.е.

http://example.com/test  <-- does not exist

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

http://example.com/

Имея это в виду, я не хочу, чтобы URL по-прежнему отображал "http://example.com/test". Я бы хотел, чтобы URL обновился до" http://example.com/".

Ответы [ 2 ]

3 голосов
/ 08 октября 2009
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ http://domain.com/ [L,R=301]

По сути, «если запрашиваемое имя файла не является файлом или каталогом, перенаправить».

2 голосов
/ 08 октября 2009

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

...