我目前将我的htaccess文件设置为删除文件类型
www.example.com/home.php
会变成,
www.example.com/home
我需要将url与我保存在数据库中的url进行比较,我这样做,
if ($_SERVER['QUERY_STRING']) {
$pageURL = str_replace('.php', '?', 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF'] . $_SERVER['QUERY_STRING']);
}
else {
$pageURL = substr('http://' . $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF'], 0, -4);
}
当我在数据库中保存url时,它会在htaccess文件删除.php后保存为当前页面url,使用jquery ajax插入它。
当我来比较它时,我需要这个以使它在php中匹配,因为php没有考虑到htaccess的变化。
有更好的方法吗?
答案 0 :(得分:1)
你可以这样做:
$pageURL = rtrim($_SERVER['REQUEST_URI'], '.php');
只要网址末尾显示,您的网址就会被删除{<1}}。
答案 1 :(得分:1)
查看parse_url()
函数。您可以使用它将URL解析为部分,然后修改路径组件(例如,删除.php)。然后,您可以使用http_build_url()
函数从这些部分重建URL。
答案 2 :(得分:0)
在我看来,将John的使用parse_url()
以及使用pathinfo()的建议结合起来是最好的 - 修剪,使用substr等截断并不总是像{{1}那样优雅}。