apache - RewriteRule重写url的问题

【字号: 日期:2022-08-04浏览:15作者:雯心

问题描述

wordpress安装在根目录下的blog文件夹下,所以地址就变成http://mydomain.com/blog日志路径http://mydomain.com/blog/sample-post/能不能用RewriteRule把wordpress的路径改为http://mydomain.com/sample-post,隐藏掉blog?(sample-post不是固定的,是每篇日志的名字,可变的)看了半天htaccess没看明白到底应该怎么写。还想请问一下RewriteRule . /index.php [L]这句话的意思有的人安装wordpress之后路径里会多一个index.php所以要加上这句把index.php去掉重写规则的语法:

RewriteRule Pattern Substitution [flags]

我看到的一个解释是这样的:

Pattern是一个作用于当前URL的兼容perl的正则表达式 重写规则中的Substitution是,当原始URL与Pattern相匹配时,用以替代(或替换)的字符串

那这不是用index.php代替任意字符(我也不太清楚这个pattern是什么意思,正则里的’.’不是表示任何单字符吗)?

求解释,谢谢~

问题解答

回答1:

rewriterule ^/blog/([/]+) /$1 [L]

回答2:

自己解决...

RewriteEngine OnRewriteBase /RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ blog/$1 [QSA,PT,L]

虽然去掉url中的blog字段是可以正常访问,但如果通过页面里的链接跳转,网址里还是自带blog,算了我还是把目录搬一下吧...

相关文章: