我一直在使用以下jquery来检查页面是否为index.php ...
<script>
$(document).ready(function(){
if(window.location.href == "www.mydomain.com/index.php"){
alert('This is the homepage');
}
});
</script>
一切都运行正常但我现在已经引入了一个.htaccess文件来摆脱像这样的文件中的.php扩展名...
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
我现在已经丢失了URL中的php扩展,这是我想要的,但现在我的页面检测脚本不再有效。我修改了jQuery片段以删除.php ...
<script>
$(document).ready(function(){
if(window.location.href == "www.mydomain.com"){
alert('This is the homepage');
}
});
</script>
我是否以正确的方式检测主页,或者是否有更有效的方法来处理我的.htaccess文件?
答案 0 :(得分:1)
将您的脚本更改为:
<script>
$(document).ready(function() {
if ( window.location.href == "http://www.domain.com/index.php" ||
window.location.href == "http://www.domain.com/"
) {
alert('This is the homepage');
}
});
</script>
window.location.href
以http://
PS:正如@dave评论你最好检查一下这个条件:
window.location.pathname === "/"
答案 1 :(得分:1)
您可能需要匹配以下内容:
/
index
index.php
要查看,请打印出
的内容console.log(window.location.href)
然后你应该能够看到它需要匹配的字符串。
虽然我想知道将脚本移动到索引页面内容中是否更好。这就是它的事件驱动,而不是测试网址。
答案 2 :(得分:0)
首先,我会做一个简单的.htaccess文件并将其添加到它的末尾。这样,如果文件不存在且用户除了主页之外没有要求任何内容,则会加载index.php?ISHOME = 1。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^$ /index.php?ISHOME=1 [NC,L]
接下来,在index.php文件中,在初始HTML处理例程之后的某处添加以下代码:
if (intval($_POST['ISHOME']) == 1){
echo "<script>\n";
echo "alert('This is the homepage')\n";
echo "</script>";
}
不需要Jquery。只是一个简单的单线警报。