如何仅在PHP中重写URL?

时间:2013-06-14 17:25:13

标签: php url-rewriting

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

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

例如,像这样:

example.com/page.php?page=whatever

变成

example.com/page/whatever OR

example.com/whatever

我见过一些带有$ _SERVER ['PATH_INFO']的例子,但我不明白它是做什么的。 我试过了

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

但那没有做任何事...... 非常感谢帮助!!

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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