我的博客目前位于:
example.com/blog
帖子类似于:
example.com/blog/my-post
我想编辑我的htaccess文件,以便访问
的任何人example.com/blog/my-post
最终会在:
example.com/my-post
如何使用htaccess文件执行此操作?
更新
现在我有:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# www.
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
</IfModule>
这会将任何非www流量转发给www。但是,我需要修改它以支持/博客。我不认为我的语法是正确的:
RewriteCond %{HTTP_HOST} ^example\.com/blog$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
答案 0 :(得分:1)
您无法使用/blog
变量匹配HOST_NAME
。
让你的htaccess像这样:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# www.
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301,NE]
RewriteRule ^blog/(.*)$ /$1 [L,NC,R=301]
</IfModule>
这假设.htaccess
目录中没有/blog/
。但是,如果出于某种原因存在,请在/blog/.htaccess
中将此规则用作第一条规则:
RewriteEngine On
RewriteRule ^(.*)$ /$1 [L,R=301]