我对此很陌生,但根据我的逻辑,这应该可行。
我想要做的是在结束之前捕获所有不匹配任何规则的url,并将它们重定向到error.php。如果我尝试访问 localhost/create 或 localhost/create/ 它仍然会将我重定向到 error.php。我错过了什么吗?
RewriteEngine On
RewriteRule ^create/?$ create.php [NC,L]
RewriteRule ^ error.php [NC,L]
我对此很陌生,但根据我的逻辑,这应该可行。
我想要做的是在结束之前捕获所有不匹配任何规则的url,并将它们重定向到error.php。如果我尝试访问 localhost/create 或 localhost/create/ 它仍然会将我重定向到 error.php。我错过了什么吗?
RewriteEngine On
RewriteRule ^create/?$ create.php [NC,L]
RewriteRule ^ error.php [NC,L]
这对我有用:
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
因为没有要求它验证文件是否存在。