【问题标题】:I have the URL www.something.com/HereWeGo, I want to get HereWeGo without the 404 error我有网址 www.something.com/HereWeGo,我想在没有 404 错误的情况下获取 HereWeGo
【发布时间】:2010-04-06 08:07:26
【问题描述】:

考虑 URL www.something.com/HereWeGo。当有人输入 url 时,站点显示 404 错误,因为该目录不存在。我可以解析 URL 以获取查询和 HereWeGo,但无法阻止它进入 404 错误。

如果现在可以避免.htaccess,我如何通过PHP实现它

谢谢 让

【问题讨论】:

    标签: php .htaccess http-status-code-404


    【解决方案1】:

    您需要重写您的 URL,以便 /something 指向 index.php?q=/something,如果找不到文件/目录并且没有与之关联的 RewriteRules,您的 Web 服务器通常会默认抛出 404 ,即使您可以从错误页面中解析 URL 并找到您需要的信息。

    您是否有正当理由不能使用.htaccess?如果可以的话,我强烈建议你使用它。尤其是因为目前 404 将意味着 Google 不会索引您的页面。

    This article 会帮助你。

    【讨论】:

      【解决方案2】:

      您无法避免“接触”.htaccess,至少对于将所有请求重写为单个文件(或定义默认 404 文件)。您使用的是 Apache,而不是 PHP 作为服务器,对吧?

      以 Kohana 3 框架(和大多数其他框架)为例,所有请求都被重写为 index.php 文件,然后由该文件处理请求的路由。

      RewriteRule .* index.php [L]
      

      下面的代码将处理所有以 404 响应并重定向它。

      ErrorDocument 404 /somefile.php
      

      在 somefile.php 中,您可以检查引用者是否为“本地”( $_SERVER['HTTP_REFERER'] )以及它是关于哪个查询字符串,并根据您的需要进行响应。

      【讨论】:

        【解决方案3】:

        您可以为该特定文件夹使用 mod_rewrite,也可以使用您自己的自定义 404 页面(阅读 this article)。

        【讨论】:

          【解决方案4】:

          这是您需要在网络服务器上配置的 .htaccess 文件中的内容。查看redirectrewrite 的语法。仅在 PHP 中无法做到这一点,因为它是处理 URL 请求的网络服务器。

          【讨论】:

            【解决方案5】:

            IIRC,设置自定义 404(和其他网络服务器错误)是您网络服务器环境的一部分。

            【讨论】:

              【解决方案6】:

              除非您更改您的 apache(或其他网络服务器)配置以将您的 404 错误重定向到您自己的 *.php 文件而不是默认错误消息,否则您无法避免 .htaccess 重定向。

              【讨论】:

                【解决方案7】:

                您必须设置一个 php 文件,例如 404.php 作为您的 404 错误处理程序文件。完成此操作后,404.php 中的代码如下所示:

                if (stristr($_SERVER["REQUEST URI"],"HereWeGo")
                {
                //add handling code here
                }
                

                【讨论】:

                • 假设为 HereWeGo 使用任何 radom
                【解决方案8】:

                在您的目标页面上只需调用--

                header('HTTP/1.0 200 OK');
                

                --覆盖默认的 404 状态码。

                【讨论】:

                  猜你喜欢
                  • 2021-01-19
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2017-07-04
                  • 1970-01-01
                  • 2021-08-13
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多