【问题标题】:How can I get ErrorDocument in .htaccess to output wrong uri parameter?如何在 .htaccess 中获取 ErrorDocument 以输出错误的 uri 参数?
【发布时间】:2011-01-04 04:02:17
【问题描述】:

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

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

所以我需要重写

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

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

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

【问题讨论】:

    标签: .htaccess parameters errordocument


    【解决方案1】:

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

    <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,并通过检查$_SERVER['REDIRECT_STATUS'] == '404'

    【讨论】:

    • 是的,但是..我需要获取用户输入的 URI 并且不正确.. 那是作为变量发送到这样的 php ErrorDocument 吗?
    • 新信息:它不起作用,因为它被重定向到这个 index.php?uri=
    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2017-10-19
    • 1970-01-01
    • 1970-01-01
    • 2016-10-12
    • 1970-01-01
    • 2013-05-10
    相关资源
    最近更新 更多