PHP清理URL而不访问apache配置

PHP清理URL而不访问apache配置,php,url-rewriting,Php,Url Rewriting,我知道所有获得干净URL的标准方法(www.mysite.com/getarticle?a=123与www.mysite.com/getarticle/123) 这些解决方案主要包括mod_重写、force_类型和apache的各种配置 由于我在共享主机上没有访问此类配置的权限,是否有任何解决方案/黑客可以绕过此限制并完成工作?谢谢。是的 如果您通过,www.example.com/index.php/my/path/here调用脚本,您可以很容易地从$\u服务器获取请求路径。我个人使用的是$\

我知道所有获得干净URL的标准方法(www.mysite.com/getarticle?a=123与www.mysite.com/getarticle/123)

这些解决方案主要包括mod_重写、force_类型和apache的各种配置

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

是的


如果您通过,
www.example.com/index.php/my/path/here
调用脚本,您可以很容易地从
$\u服务器
获取请求路径。我个人使用的是
$\u服务器['PHP\u SELF']
,但根据您使用的PHP版本,有几种可供选择。

只是为了确定-您确定不能使用mod\u rewrite吗


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

如果系统无法正确处理URL,则不能使用依赖于系统的URL以外的URL。Web服务器的本机行为是将请求的URL路径一对一地映射到文件系统

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


例如,Apache必须在已引用现有文件的URL路径之后附加额外的路径段,同时保留该信息(请参见
path\u INFO
envirnoment变量),以获得更多功能。

显然,对于普通Apache请求,默认情况下,AcceptPathInfo处于禁用状态,但是,对于mod_php和大多数CGI处理程序,默认情况下是启用的。