Mod重写+哈希标签

Ric*_*ard 3 apache mod-rewrite redirect

mod重写是否与hashtags一起使用?也许我的代码是废话,但这似乎不起作用:

我的网站使用此哈希标记:index.php/#p/about

它使用常规主题标签工作正常,但我希望它与mod重写工作,所以我试过:

RewriteEngine on
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php#p/$1 [nc]
Run Code Online (Sandbox Code Playgroud)

我的js:

$(window).hashchange(function(){      alert(location.hash);


}

$(window).hashchange();
Run Code Online (Sandbox Code Playgroud)

当我尝试mod重写时,输出不起作用:

site.com/about

有任何想法吗?

Flo*_*ern 13

Hashtags只是客户端,它们不会被发送到服务器,所以你不能重写到这样的URL,但你可以用R标志重定向到它:

RewriteEngine on
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php#p/$1 [NC,NE,R=302]
Run Code Online (Sandbox Code Playgroud)

  • 注意这里[`NE`(没有逃脱)](http://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_ne)标志很重要,否则哈希会将URL转义为'%23 `. (7认同)