如何在.htaccess中输出ErrorDocument来输出错误的uri参数?

时间:2010-01-12 12:33:14

标签: .htaccess parameters errordocument

我已经解决了通过ErrorDocument将所有uri转换为一个页面的解决方案。

这背后的原因是将文件和文件夹(不错的网址)发送到一个页面。但是,我需要将URI字符串发送到index.php?uri = string。这可以通过ErrorDocument,或者我该怎么做?

所以我需要重写

  

http://www.something.com/games/specific-game

  

http://www.something.com/index.php?uri=/games/specific-game

这有可能,如果,如何?

1 个答案:

答案 0 :(得分:2)

如果您的服务器支持服务器端包含(SSI),那么您使用以下404.shtml作为您的ErrorDocument:

<html>
<header>
<meta http-equiv="Refresh" content="0; url=/index.php?uri=<!--#echo var="REQUEST_URI" -->">
</header>
</html>

编辑:有一种更简单的方法:创建一个PHP文件作为你的ErrorDocument,你可以在它的阳光下做任何事情! :)

EDIT2:您可以使用$_SERVER['REQUEST_URI']

访问原始URI

EDIT3:哎呀,如果您只是在同一主机上重定向到index.php,您可以将index.php文件设置为您的ErrorDocument,并通过检查是否从404错误重定向请求$_SERVER['REDIRECT_STATUS'] == '404'