首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将example.com/index.php#锚点的URL重写为example.com/锚点?

如何将example.com/index.php#锚点的URL重写为example.com/锚点?
EN

Stack Overflow用户
提问于 2014-11-08 07:46:15
回答 2查看 297关注 0票数 3

我有一个页面(,example.com,),在主要部分,(example.com/index.php#anchorexample.com/index.php#aboutexample.com/index.php#contact,等处有锚点。)以及子页面(example.com/subpage.php).

下面是我的.htaccess文件:

代码语言:javascript
代码运行次数:0
运行
复制
RewriteEngine On

DirectoryIndex index.php
ErrorDocument 404 http://example.com/my404page.php

RewriteRule ^anchor/?$ index.php#anchor [R,NE,L]
RewriteRule ^subpage/?$ subpage.php [NE,L]

子页面重写规则非常有效。

对于锚链接,包括“R URL”(重定向)标志将URL更改为example.com/index.php#anchor,,但我希望URL为example.com/anchor.。

如果我去掉example.com锚标志并在浏览器中输入example.com/anchor,那么浏览器就会转到索引页,并保持干净的网址(/),但不会滚动到锚。

所以..。有没有办法在.htaccess中实现这一点,或者用JavaScript实现这一点有没有好的办法?

EN

回答 2

Stack Overflow用户

发布于 2014-11-08 08:39:52

使用URL重写不可能做到这一点。因为当#是URL的一部分时,浏览器会向下滚动...而不是在服务器端。

票数 1
EN

Stack Overflow用户

发布于 2018-10-19 17:52:34

你不能用.htaccess做到这一点。但您可以使用以下JavaScript代码来完成此操作:

代码语言:javascript
代码运行次数:0
运行
复制
window.location = String.prototype.replace(window.location, /index\.php#(.*)/, function(match, g1){return g1;});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26811952

复制
相关文章

相似问题

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