php - 在 .htaccss 中添加尾随斜杠后,活动菜单不起作用
问题描述
我正在创建一个动态 PHP 博客站点,我在其中使用 jQuery 有活动的当前菜单,在 .htacess 修改尾部斜杠之前一切正常……</p>
链接已激活
技术是选项卡并且包含已激活但不工作活动菜单链接
如果您访问以下网址菜单活动链接工作正常
http://example.com/tech
如果您访问以下网址,则菜单活动链接将不起作用
http://example.com/tech/
对于尾部斜线,我使用以下代码
.htacess
#force trainling slash
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
#end of force trailing slash
RewriteRule ^([0-9a-zA-Z]+)/?$ archive.php?category=$1 [QSA,L]
菜单
<ul id="nav-main">
<li><a href="http://example.com/"> Home</a></li>
<li><a href="/tech"> Technology</a></li>
<li><a href="/business">Business</a></li>
<li><a href="/sports"> Sports</a></li>
<li><a href="/science">Science</a></li>
</ul>
jQuery
jQuery(document).ready(function($){
var path = window.location.href;
$('#nav-main li a').each(function() {
if (this.href === path) {
$(this).addClass('active');
}
});
});
CSS
ul#nav-main li a:hover {
border-bottom: 4px solid #4db2ec;
color: black;
font-weight: bold;
}
ul#nav-main li a.active {
border-bottom: 4px solid #4db2ec;
color: black;
font-weight: bold;
}
注意: 网站的包含工作正常......只有活动链接不起作用(主要问题)。
我什至不知道如何让它发生我在我身边尝试了数千次但即使我尝试了很多互联网搜索也没有成功,帮助我
解决方案
尝试将其添加到您的 if 中:|| this.href === 路径 + '/'
jQuery(document).ready(function($){
var path = window.location.href;
console.log(path);
$('#nav-main li a').each(function() {
if (this.href === path || this.href === path + '/') {
$(this).addClass('active');
}
});
});
ul#nav-main li a:hover {
border-bottom: 4px solid #4db2ec;
color: black;
font-weight: bold;
}
ul#nav-main li a.active {
border-bottom: 4px solid #4db2ec;
color: black;
font-weight: bold;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id="nav-main">
<li><a href="http://example.com/"> Home</a></li>
<li><a href="/tech"> Technology</a></li>
<li><a href="/business">Business</a></li>
<li><a href="/sports"> Sports</a></li>
<li><a href="/science">Science</a></li>
<li><a href="/js/">Test</a></li>
</ul>
推荐阅读
- javascript - 使用复选框实现树并拖放
- sql - SqlServer 2019 使用表和标量函数进入游标
- android - 如何从套接字读取字节数组并将其转换为 android 中的位图?
- android - 共享偏好是否具有故障安全行为?
- bash - 带有双引号的 bash 变量
- javascript - 当其他函数完成时,在循环中的函数之后触发 JS
- java - 与@CircuitBreaker 一起使用时,不会调用@Recover(回退方法),一旦所有重试都用尽了
- javascript - 动画光标跟随已动画元素
- reactjs - 如何使用 react-query 获取 n 个依赖数据
- angular - 显示角度模态对话框时不必要的多个方法调用