在C:\ xampp \ htdocs \ myname \ myproject \ index.html我有
<a href="/aboutus">About Us</a>
这应链接到C:\ xampp \ htdocs \ myname \ myproject \ aboutus.html。
在我的localhost中,我希望网址看起来像这样:
localhost/myname/myproject/
localhost/myname/myproject/aboutus
但是,我似乎无法弄清楚如何编写网址重写规则以使其工作。 唯一有效的是如果我把路径放在html中:
<a href="/myname/myproject/aboutus">About Us</a>
但我不想这样做。
我的C:\ xampp \ htdocs \ myname \ myproject \ .htaccess文件:
<IfModule mod_rewrite.c>
# Enable url rewriting
RewriteEngine On
RewriteBase /myname/myproject/
# Don't rewrite explictly requested paths
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# URL rewriting rules
#TEST RewriteRule aboutus /myname/myproject/aboutus.html
RewriteRule ^([0-9]+).html/$ $1\.html
</IfModule>
我在这里做错了什么?
答案 0 :(得分:0)
尝试更改:
RewriteRule ^([0-9]+).html/$ $1\.html
到
RewriteRule ^([0-9A-Za-z\-_]+)/?$ $1\.html
你做错了是正则表达式。您只允许页面名称中的字符0-9。另请注意最后的/?
。这是为了制作/ optional。