1

我对此很陌生,但根据我的逻辑,这应该可行。

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

RewriteEngine On

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

1 回答 1

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因为没有要求它验证文件是否存在。

于 2013-09-05T10:42:31.973 回答