我想http://example.com/articles.html#first-article
重写http://example.com/articles/first-article
是否可以重写?
我尝试使用以下但对我不起作用:
RewriteRule ^articles/(.+)$ /articles\.html\#$1
我想http://example.com/articles.html#first-article
重写http://example.com/articles/first-article
是否可以重写?
我尝试使用以下但对我不起作用:
RewriteRule ^articles/(.+)$ /articles\.html\#$1
#
可以在替换 URL 中添加 NE 标志。查看:
这个 Apache 链接专门描述了如何redirect anchors
.
SO(我的)中的另一个答案。
所以,你可以试试这个:
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !articles\.html [NC]
RewriteCond %{REQUEST_URI} ^/articles/([^/]+)/? [NC]
RewriteRule .* /articles.html#%1 [R,NE,L]
重定向
http://example.com/articles/parameter
到
http://example.com/articles.html#parameter
假设字符串articles
是固定的,而parameter
假设是可变的。
不,这是不可能的。URL 片段(从开始的所有#
内容)甚至都不会发送到服务器。
也许您想考虑一个基于 JavaScript 的解决方案,其中实际内容将通过依赖于片段的 AJAX 加载。您将在此处找到有关此方法的一些有用信息:Facebook 和新 Twitter URL 中的 shebang/hashbang (#!) 有什么用?