好吧,我正在使用.htaccess规则来编辑我的网站网址结构。现在,我有以下网址:
http://localhost/aponit/dev/zones
此网址用于Regions.php页面以编辑表单数据。点击编辑链接后,它将转到此链接:
http://localhost/aponit/dev/zones/update/55
此链接在update.php
页面上打开。
现在,如果我从此网址中删除以下部分
/55 or date/55
然后它显示错误消息,并显示相应的错误页面。那很好。
但是,如果我从网址中删除update/55
,那么网址就是这样:
http://localhost/aponit/dev/zones/ (note the forward slash at the end)
然后它调用了zones.php页面和样式表,这是
但是我想显示一个错误页面,例如:not-found.php页面。我怎么能用.htaccess做到这一点?
我的.htaccess规则:
Options -MultiViews
ErrorDocument 404 http://localhost/aponit/dev/not-found.php
ErrorDocument 500 http://localhost/aponit/dev/404.php
RewriteEngine on
RewriteRule ^(?:zones/)?update/(\w+)/?$ update.php?z=$1 [L,QSA,NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]
答案 0 :(得分:1)
您可以使用:
Options -MultiViews
ErrorDocument 404 /aponit/dev/not-found.php
ErrorDocument 500 http://localhost/aponit/dev/404.php
RewriteEngine on
RewriteRule ^zones/$ - [NC,L,R=404]
RewriteRule ^(?:zones/)?update/(\w+)/?$ update.php?z=$1 [L,QSA,NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+?)/?$ $1.php [L]