我知道获取干净网址的所有规范方法(www.mysite.com/getarticle?a=123 vs www.mysite.com/getarticle/123)。
这些解决方案主要包括mod_rewrite,force_type和各种apache配置。
由于我无法在共享主机上访问此类配置,是否有任何解决方案/黑客可以解决限制并完成工作?感谢。
答案 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以获取更多信息功能。