.htaccess捕获所有无效的URL

时间:2013-09-05 09:50:18

标签: .htaccess mod-rewrite

我对此很新,但根据我的逻辑,这应该有用。

我想要做的是在结束之前捕获所有与规则不匹配的网址,并将它们重定向到error.php。如果我尝试访问localhost / create或localhost / create /它仍然会将我重定向到error.php。我错过了什么吗?

RewriteEngine On

RewriteRule    ^create/?$    create.php    [NC,L]
RewriteRule ^ error.php [NC,L]

1 个答案:

答案 0 :(得分:1)

这对我有用:

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /

RewriteRule ^create/?$ create.php [NC,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ error.php [NC,L]

您的规则存在的问题是,它不会检查文件或文件夹是否存在,所以基本上一旦找到create.php它继续error.php,因为没有要求它验证文件是否存在