【发布时间】:2018-12-22 09:19:59
【问题描述】:
当用户访问带有.php 扩展名的php 文件时,我想显示错误页面。但这没有显示我设置的自定义错误页面。而是显示默认的 Apache 错误页面。
# Run Php without filename extension
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
# Return 404 if original request is .php
RewriteCond %{THE_REQUEST} "^[^ ]* .*?\.php[? ].*$"
RewriteRule .* - [L,R=404]
# Error Pages
ErrorDocument 404 /error.php
ErrorDocument 403 /error.php
编辑:我知道我可以使用RewriteRule .* /error [L,R],但我想显示错误页面并保持相同的 URL。例如,如果用户访问/login.php,他必须停留在/login.php,但这会重定向到/error.php。
【问题讨论】: