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