【发布时间】:2013-01-26 01:52:55
【问题描述】:
有没有办法将请求 URI 作为 URL 变量发送到 404 页面?例如,如果我用ErrorDocument 指令转发我的404,有没有办法做这样的事情?这是我尝试过的代码,但显然没有用。
ErrorDocument 404 /pages/errors/index.php?e=404&url=%{REQUEST_URI}
我也尝试了 mod_rewrite,但我也无法让它工作。这是我用 mod_rewrite 尝试过的:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /pages/errors/index.php?e=404&url=%{REQUEST_URI} [L,R=404]
基本上我要做的就是当用户输入类似http://mysite.com/asdf 的内容时,它会转发到http://mysite.com/pages/errors/index.php?e=404&url=/asdf,假设服务器上不存在目录/asdf。
有没有简单的方法来实现这一点?
【问题讨论】:
-
您可以尝试使用重定向然后检查 404 php 上的引荐来源吗?
-
我试过了,$_SERVER['REQUEST_URI'] 但都没有成功,他们都只是空白。
标签: php .htaccess mod-rewrite errordocument