【问题标题】:How To Rewrite URL in PHP Only?如何仅在 PHP 中重写 URL?
【发布时间】:2013-06-14 17:25:12
【问题描述】:

我正在考虑一个 MVC(模型、视图、控制器)结构化网站。它托管在 smallbusiness.yahoo.com 上。 (Apache)他们将托管限制为 php(和 mysql),我无法编辑服务器配置。这意味着没有 .htaccess 文件!找了很久的解决方案,都涉及到编辑服务器配置。我正在寻找一种仅用 php 本身重写 URL 的方法。

我想进行 URL 重写,以便控制器可以通过 URL 接收参数。我知道 Codeigniter 会这样做,但我确实想了解它是如何做到的。

例如,像这样的:

example.com/page.php?page=whatever

变成

example.com/page/whatever 或

example.com/whatever

我见过一些关于 $_SERVER['PATH_INFO'] 的例子,但我不明白它的作用。 我试过了

$_SERVER['PATH_INFO'] = '/';

但这并没有起到任何作用... 非常感谢您的帮助!

【问题讨论】:

    标签: php url-rewriting


    【解决方案1】:

    这是我能找到的最接近的东西。严格来说,甚至 WordPress 都会修改 .htaccess 以允许他们自己的模块来管理重写。我觉得奇怪的是他们会完全禁止所有 .htaccess 更改。你试过了吗?甚至 ASP.NET 也需要修改 web.config 才能使用重写。

    http://pure-essence.net/2007/06/29/simple-php-path-rewrite/

    如果 .htaccess 完全被禁止,显然最后一个解决方案将无济于事,但实际上很少能使用 PHP。我可以看到它们不允许覆盖,但这通常只适用于索引和目录选项之类的东西。

    【讨论】:

    • 我已尝试上传.htaccess文件,但传输甚至无法开始。
    • 谢谢,它确实给了我想要的东西!
    【解决方案2】:

    我建议你看看this,也许它可以帮助你。

    【讨论】:

      猜你喜欢
      • 2019-07-13
      • 1970-01-01
      • 2023-04-07
      • 2010-11-05
      • 2010-10-06
      • 2012-03-07
      • 2012-01-10
      • 2012-06-23
      • 1970-01-01
      相关资源
      最近更新 更多