我想用http://example.com/articles.html#first-article
http://example.com/articles/first-article
是否可以重写?
我尝试使用以下但不适合我:
RewriteRule ^articles/(.+)$ /articles\.html\#$1
答案 0 :(得分:36)
可以在带有NE标志的替换URL中添加#
。检查:
This Apache link具体描述如何redirect anchors
。
Another answer in 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
是可变的。
答案 1 :(得分:19)
不,这是不可能的。 URL片段(来自#
的所有内容)甚至无法发送到服务器。
也许您想要考虑基于JavaScript的解决方案,其中实际内容将通过AJAX加载,具体取决于片段。您可以在此处找到有关此方法的一些有用信息:What's the shebang/hashbang (#!) in Facebook and new Twitter URLs for?