使用PHP自动形成url的最佳方法?
问题标题可能有点误导,但我想不出一个更好的方式来表达它.
确保PHP应用程序可以在任意数量的环境中运行(就超链接而言……)创建URL的最佳方法是什么? 我在应用程序根目录中的index.php引用了一个处理所有请求的base.php(控制器)文件. 所以我一直在使用: $_SERVER['DOCUMENT_ROOT'] . "/url/to/file/i/want.php"; 这是正确的方法吗,还是有更好的方法?这是有效的,因为每个请求都来自index.php文件…… 解决方法
这应该工作正常,或只是使用相对路径.
您还可以实现其他方法,例如,您可以将超链接设置为: // this part could be established in a shared header/include/global variable for your scripts $site_domain = 'http'; if ($_SERVER["HTTPS"] == "on") {$site[url][full] .= "s";} $site_domain .= "://"; $site_domain =$site_domain .$_SERVER['SERVER_NAME']; // you would then have links in your scripts coded as: $site_domain."/cleanurl/ $site_domain为您提供基本域引用,动态到托管脚本的任何位置,然后您可以创建链接:$site_domain.“/ cleanurl /”; 其中’cleanurl’是您希望加载的页面的基于上下文的引用(例如’news’,如www.mydomain.com/news/). 然后,您可以使用.htaccess和Apache mod_rewrite来处理这些URL随后指向的位置: RewriteEngine On RewriteRule ^cleanurl/$/url/to/file/i/want.php [NC,L] 因为相对路径是从.htaccess中的根目录使用的,所以一旦设置,您就不需要进行更改. 另一个好处是你最终得到了“干净”,“可读”的链接 – 如果你移动脚本所在的位置与文件结构有关,你就不必浏览链接到它们的所有脚本并编辑链接单独 – 您只需更改.htaccess中的一行. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |