我在.htaccess中使用以下代码:
ErrorDocument 404 error_page.php?msg=404
当我触发404错误时,我会看到一个页面:
error_page.php?msg=404
有什么我做错了吗?
由于
答案 0 :(得分:0)
不确定您是否可以将查询字符串传递给ErrorDocument
指定的文档,您可以尝试将其与mod_rewrite结合使用:
ErrorDocument 404 /error-doc-404
ErrorDocument 405 /error-doc-405
ErrorDocument 500 /error-doc-500
RewriteEngine On
RewriteRule ^error-doc-([0-9]{3})$ /error_page.php?msg=$1 [L]
由于它位于文档根目录的子目录中,因此会更改所有内容。
假设子目录是/something/
ErrorDocument 404 /something/error-doc-404
ErrorDocument 405 /something/error-doc-405
ErrorDocument 500 /something/error-doc-500
RewriteEngine On
RewriteRule ^error-doc-([0-9]{3})$ /something/error_page.php?msg=$1 [L]
假设您的error_page.php
文件实际位于/something/
子目录中。