htaccess将动态网址重定向到带有hashbang的网址

时间:2015-11-05 22:09:05

标签: apache .htaccess mod-rewrite redirect

我有http://domain.com/frame/1234sdfs,但我想将其更改为http://domain.com/#/frame/1234sdfs

我现在正在使用反复试验,在我的.htaccess中无法使用以下内容

RedirectMatch 301 ^/frame/([^/]*)$ /#/frame/$1

有人可以让我朝着正确的方向前进吗?我一直在使用http://htaccess.madewithlove.be/尝试按预期获取输出网址,但无法弄明白。

1 个答案:

答案 0 :(得分:0)

您应该使用mod_rewrite以便可以使用NE标志。它可能正在使用%23转换为mod_alias。您需要在此处使用此代码字面发送它。

RewriteEngine On
RewriteRule ^frame/([^/]+)/?$ /#/frame/$1 [NE,L,R=301]
  

省略[NE]将导致#转换为其十六进制代码   等效,%23,然后将导致404 Not Found错误   条件。

https://httpd.apache.org/docs/2.4/rewrite/flags.html#flag_ne

注意:确保允许.htaccess并启用mod_rewrite。