我工作,围绕解决方案通过ErrorDocument来对所有的URL转换为一个页面。

这背后的原因是发送文件和文件夹(好的URL)的一个页面。不过,我需要发送的URI字符串的index.php?URI =字符串。这是可能通过的ErrorDocument,或者我该怎么做呢?

因此,我需要重写

  

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

  

http://www.something.com/index。 PHP?URI = /游戏/特定游戏

这是不可能的,如果,怎么样?

有帮助吗?

解决方案

如果您的服务器支持服务器端包含(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'

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top