首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache hashbang url问题

Apache hashbang url问题
EN

Stack Overflow用户
提问于 2011-07-17 22:59:39
回答 1查看 606关注 0票数 0

我在一个全新的Apache@Debian#squeeze上建立了一个较旧的Rails2项目。项目本身可以是一个单独的页面,使用链接来上下滚动页面。我的链接是这样的:

代码语言:javascript
复制
http://mydomain.com/en/#home

只要JavaScript截获单击事件并简单地滚动到所需的部分,这些链接就可以正常工作。如果用户离开了单个页面,打开了一个无法通过JavaScript访问这些链接(仍然是相同的)的页面,我只收到一个:

代码语言:javascript
复制
Forbidden

You don't have permission to access /en/ on this server.

如果我将链接更改为:

代码语言:javascript
复制
http://mydomain.com/en#home

一切都很好,并且和预期的一样。但是我不想改变我的链接结构。它已经在一个较老的Debian5机器上工作得很好。

我希望这是一个Apache2配置问题,但在网络上找不到任何有用的东西。

期待着任何形式的启蒙。Thx Felix

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-17 23:13:26

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

标签#之后的所有东西都是,而不是传递给服务器的。它的HTTP标准化,它只是没有传递给服务器。

它仅用于导航到网页中的锚点,目前已用于许多新技术,包括但不限于xss脚本、javascript挂钩等。

可能的情况是,禁止使用onclick事件加载链接,而某些javascript会做一些事情,但是如果http://mydomain.com/en/不工作,您就不可能出现在这个页面的http://mydomain.com/en/#home上。

然而,为了解决您的问题,您可能需要调整您的apache重写规则(或者完全启用mod_rewrite?)来捕获带有尾随斜杠的链接。

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

我强烈建议不要在这里搞得一团糟,并从一个到另一个做一个严格的永久重定向。您选择哪种主要用途由您决定。

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

要解决您的问题,请尝试找到相应的RewriteRule,复制它,并使用尾部斜杠再次添加它。看看它是否有效,然后重定向到没有尾号斜杠的url。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6724647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档