Apache2 Apache hashbang url问题

Apache2 Apache hashbang url问题,apache2,Apache2,我在一个全新的平台上建立了一个旧的Rails 2项目Apache@Debian#挤。该项目本身可以是一个单一的寻呼机,使用链接上下滚动页面。我的链接如下所示: http://mydomain.com/en/#home 只要JavaScript拦截click事件并简单地滚动到所需的部分,这些链接就可以正常工作。如果用户离开单个页面并打开一个页面,而这些链接(仍然相同)无法通过JavaScript跟踪,我只会收到一个: Forbidden You don't have permission to

我在一个全新的平台上建立了一个旧的Rails 2项目Apache@Debian#挤。该项目本身可以是一个单一的寻呼机,使用链接上下滚动页面。我的链接如下所示:

http://mydomain.com/en/#home
只要JavaScript拦截click事件并简单地滚动到所需的部分,这些链接就可以正常工作。如果用户离开单个页面并打开一个页面,而这些链接(仍然相同)无法通过JavaScript跟踪,我只会收到一个:

Forbidden

You don't have permission to access /en/ on this server.
如果我将链接更改为:

http://mydomain.com/en#home
一切正常,如预期的那样。但我不想改变我的链接结构。它已经在旧的Debian5机器上运行良好

我希望这是一个Apache2配置问题,但在网络中没有发现任何有用的东西

期待任何一种启示。 谢谢
Felix

我不知道您是如何或在哪里使用与此问题相关的javascript的,但让我告诉您这一点

hashtag
#
之后的所有内容都从不传递给服务器。它的HTTP标准化,只是没有传递给服务器

它只用于导航到网页内的锚定,现在用于许多新技术,包括但不限于xss脚本、javascript挂钩等

有可能禁止使用onclick事件加载链接,而某些javascript会执行某些操作,但您不可能最终进入此页面
http://mydomain.com/en/#home
if
http://mydomain.com/en/
不起作用

然而,为了解决您的问题,您可能必须调整apache重写规则(或者启用mod_rewrite?)以捕获带有尾部斜杠的链接

链接
http://mydomain.com/en/
http://mydomain.com/en
是不同的,可以提供完全不同的页面

我强烈建议不要把这里搞得一团糟,从一个地方到另一个地方进行严格的永久性重定向。主要用途由您自己决定

我更喜欢尾随斜杠,也可以为此提供参数,但它们可以很容易地失效,并被一些相反的建议所取代。如果在这里搜索尾随斜杠,您应该会发现很多关于这方面的讨论

若要解决您的问题,请尝试找到相应的
重写规则
,复制它并用尾部斜杠再添加一次。查看它是否有效,并在不使用tralign斜杠的情况下重定向到url


您也可以编辑答案并发布服务器配置以获得帮助。

问题不在于片段,而在于路径
/en/
。该片段甚至没有传输到服务器。