mod_rewrite 404 и перезапись не работает - PullRequest
1 голос
/ 04 февраля 2011

Привет,

Я не могу заставить свой htaccess mod_rewrite работать как надо .. У меня есть некоторые базовые RewriteRules для некоторых статических страниц, перенаправление из не www-версии, и теперь я хотел бы добавить пользовательскую страницу 404 (называемую 404.php, расположенную в моем webroot.

Что происходит, когда я пытаюсь получить доступ к нижней странице, он снова и снова возвращает мне сообщение 404 ... Может кто-нибудь увидеть какие-либо проблемы с этим кодом?

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(.*)$ /404.php [L]
RewriteCond %{HTTP_HOST} ^dhb\.nu$
RewriteRule (.*) http://www.dhb.nu/$1 [R=301,L]
RewriteRule ^policy/$ page.php?page_id=11
RewriteRule ^cookies/$ page.php?page_id=13

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 04 февраля 2011

Попробуйте использовать это:

ErrorDocument 404 /404.php

Подробнее здесь: http://www.garnetchaney.com/htaccess_tips_and_tricks.shtml

0 голосов
/ 04 февраля 2011

вместо

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(.*)$ /404.php [L]

вы действительно должны использовать директиву ErrorDocument :

ErrorDocument 404 /404.php
...