PHP干净的URL无法访问Apache配置

时间:2009-05-27 20:01:52

标签: php url-rewriting

我知道获取干净网址的所有规范方法(www.mysite.com/getarticle?a=123 vs www.mysite.com/getarticle/123)。

这些解决方案主要包括mod_rewrite,force_type和各种apache配置。

由于我无法在共享主机上访问此类配置,是否有任何解决方案/黑客可以解决限制并完成工作?感谢。

3 个答案:

答案 0 :(得分:3)

如果您通过www.example.com/index.php/my/path/here来调用脚本,则可以从$_SERVER轻松获取请求路径。我个人使用$_SERVER['PHP_SELF'],但有几个可供选择,具体取决于您使用的PHP版本。

答案 1 :(得分:2)

只是为了确定 - 你确定你不能使用mod_rewrite吗?

如果在共享主机服务器上安装/启用它,您只需将.htaccess文件放在public_html目录中,并在其中包含重写规则。无需更改实际的apache配置。

答案 2 :(得分:0)

如果系统无法正确处理,则不能使用除系统相关的其他URL。 Web服务器的本机行为是将请求的URL路径一对一映射到文件系统。

但是大多数Web服务器都提供了一些允许这些功能的功能,可以在特定规则的帮助下将请求的URL路径映射到文件系统上。

例如,Apache已经AcceptPathInfo在已经引用现有文件的URL路径之后添加其他路径段,同时保留该信息(请参阅PATH_INFO环境变量)和mod_rewrite以获取更多信息功能。