1

我已经解决了通过 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

这是否可能,如果,如何?

4

1 回答 1

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:您可以使用访问原始 URI$_SERVER['REQUEST_URI']

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

于 2010-01-12T12:44:21.547 回答