【问题标题】:Dynamic 404 Page.. kinda动态 404 页面 .. 有点
【发布时间】:2018-04-05 16:51:34
【问题描述】:

好的,这就是我想要实现的目标。

如果服务器返回 404,我希望能够将 URL 数据发送到 php 文件。

例如:

example.com/stackoverflow 

会弹出一个动态的 404 页面

(404.php?id=stackoverflow)

但我并没有将它用于 404,我想在 domain.com/ 之后发送数据

这样我就可以从我的数据库中提取并相应地显示内容。

我知道这可以通过在 .htaccess 中进行小的重写来完成,正则表达式让我感到困惑。

我不想要重定向。

http://example.com/datahere

应该显示

的数据
404.php?id=datahere

【问题讨论】:

    标签: .htaccess url-rewriting


    【解决方案1】:

    您可以使用 ErrorDocument 指令将 404 uri 重定向到 /404.php,如下所示:

    ErrorDocument 404 /404.php?id=%{REQUEST_URI}
    

    这会将/datahere 重写为/404.php?id=datahere/datahere 将显示/404.php?id 的内容)。

    请注意,上述指令不适用于 2.4 以下的 apache 版本,因为 mod-rewrite 变量 %{REQUEST_URI} 在较低版本上被视为纯文本而不是变量。

    在 apache 2.2 上,您可以使用 mod-rewrite 将不存在的请求重写为 404 。使用以下内容:

    RewriteEngine on
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.+)$ /404.php?id=$1 [L]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 2020-06-02
      • 2012-06-18
      • 2013-12-12
      • 2014-12-17
      • 2011-11-22
      • 2018-11-03
      相关资源
      最近更新 更多