我想将常用网址重定向到哈希网址,如下所示,
http://localhost/mywebsite/estate/heritage/
到
http://localhost/mywebsite/#/estate/heritage/
我在.htaccess中有这个重写代码,
RewriteRule ^([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$ #/$1/$2/ [R,L,NE]
但我得到的结果是,
http://localhost/C:/wamp/www/mywebsite/#/estate/heritage/
它有一个我不想要的额外位C:/wamp/www/
。
如何删除它或如何不在我的重写代码中打印它?
答案 0 :(得分:1)
您需要一个完整的新网址,如下所示:
RewriteRule ^/mywebsite/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$ /mywebsite/#/$1/$2/ [R,L,NE]
答案 1 :(得分:1)
您可以将此规则放在/mysaite/.htaccess
:
RewriteEngine On
# set ENV variable BASE equal to current RewriteBase value dynamically
RewriteCond %{REQUEST_URI}::$1 ^(.*?/)(.*)::\2$
RewriteRule ^(.*)$ - [E=BASE:%1]
RewriteRule ^([a-z0-9-]+)/([a-z0-9-]+)/?$ %{ENV:BASE}#/$1/$2/ [L,NC,NE,R=302]
使用RewriteBase
对于解决您声明的问题非常重要。