.htaccess文件规则是干扰菜单栏布局时,窗口移动视图


.htaccess file rules are disturbing the menubar layout when window goes on mobile view

我正在工作的一个项目是建立在核心php。我有一个菜单栏,其所有的菜单,当网站打开移动视图,得到合并成单个按钮。当你点击那个按钮时,它会展开& &;所有菜单都可以看到。当我添加URL重写的。htaccess规则时,我面临的问题如下所示:

RewriteRule ^login/([0-9]+)/([0-9]+)$ log-in.php?temporaryBookingId=$1&jSessionId=$2 [L]
RewriteRule ^login/([0-9]+)/([0-9]+)/([a-zA-Z]+)$ log-in.php?temporaryBookingId=$1&jSessionId=$2&name=$3 [L]

在这里添加规则后,网站工作良好,毫无疑问。问题是,当我在移动视图中打开它时,点击菜单栏按钮,它不会展开。当我删除规则并尝试后,它工作得很好。为什么会出现这种情况?有人遇到过这个问题吗?

提前感谢您的快速响应

这是我的项目页面的GIF记录,我有用户的。htaccess规则

http://g.recordit.co/uVKEfXV2xR.gif

我面对这个问题已经有一个月了,我无法找到这个问题与我项目的其他任何事情的相关性

对我来说,这不是一个直接的。htaccess问题。

当你使用。htaccess重定向时,请确保你的css和javascript文件是以它们的绝对路径加载的。不要使用:

<script type="text/javascript" src="relative/path/file.js"></script>

使用以下解决方案之一:

<script type="text/javascript" src="/absolute/path/file.js"></script>
<script type="text/javascript" src="http://yourwebsite.com/absolute/path/file.js"></script>

我认为你调用你的javascript文件与它的相对路径,问题是,在菜单栏不展开的情况下,这个脚本有一个404错误。

当您更改URL时,您可以使用浏览器的网站管理员网络工具跟踪哪些文件没有加载,然后使用该文件的绝对路径

尝试只使用第一个规则,R=301在结束

RewriteRule ^login/([0-9]+)/([0-9]+)$ log-in.php?temporaryBookingId=$1&jSessionId=$2 [R=301,L]

因为第二条规则覆盖了你的第一条规则并且不匹配你的标准路径,例如:"login/12345/12345"