Mod_rewrite не работает должным образом - PullRequest
0 голосов
/ 06 июня 2010

У меня есть это в моем .htaccess файле ...

RewriteEngine on
RewriteRule ^/invite$ /invite.html

Он предназначен для предоставления пользователю доступа к этому URL:

http://mysite.com/invite

и откройте страницу invite.html. Я не хочу перенаправлять пользователя, а просто показываю ему страницу invite.html с более привлекательного URL.

При переходе к http://mysite.com/invite я получаю ошибку 404. Не найдено.

Есть что-то, что я делаю не так? Я пытался просмотреть учебники по использованию mod_rewrite, но, похоже, я тоже делаю то, что они мне говорят ...

Спасибо!

Ответы [ 3 ]

2 голосов
/ 06 июня 2010

Я не думаю, что должно быть / в этом RewriteRule:

RewriteEngine on
RewriteRule ^invite$ invite.html
0 голосов
/ 06 июня 2010

Вам не хватает директивы RewriteCond. Это тот, который фактически проверяет Cond итион на соответствие URL. RewriteRule вызывается только в случае совпадения одного или нескольких RewriteConds.

0 голосов
/ 06 июня 2010

Вы убедились, что AllowOverride All установлено для каталога, в котором находится файл .htaccess? В противном случае файл может быть проигнорирован.

Если это не так, вам следует проверить файлы журнала Apache для получения дополнительных подсказок (/var/log/apache в Linux).

...