2012-10-13 127 views
0

我正在将我的博客从动态网站移动到静态网站。由于没有打破我努力学习的mod_rewrite太多联系,但没有得到其中具有以下重写规则的一部分:删除文件名并用mod_rewrite替换破折号破折号

我的旧网址

/blog/index.cfm/2012/10/9/My-blog-post 

我的新网址

/blog/2012-10-09-My-blog-post.html 

所以远我有以下在我的vhosts.conf文件,但它不工作

RewriteRule ([a-zA-Z0-9.]+)(/blog/index.cfm/)([0-9]+)(/)([0-9]+)(/)([0-9]+)(/)([a-zA-Z0-9-]+) $1/blog/$3-$5-$7.html 

任何帮助/指针将是伟大的

回答

0

首先,你只需要括号(即捕捉)您将在规则的RHS上使用的东西。但问题似乎是,你只是将年,月和日复制到RHS,而不是My-blog-post。试试这个:

RewriteRule ([a-zA-Z0-9.]+)/blog/index.cfm/([0-9]+)/([0-9]+)/([0-9]+)/([a-zA-Z0-9-]+) $1/blog/$2-$3-$4-$5.html 
+0

我已经很快更新了规则,但它没有奏效。我今晚会花更多时间在它上面,并得到mod_rewrite日志记录,并看看我是否错过了其他的东西。 我的当前虚拟主机文件现在包含以下内容(仅供参考) RewriteEngine on RewriteRule([a-zA-Z0-9。] +)/ blog/index.cfm /([0-9] +) /([0-9] +)/([0-9] +)/([a-zA-Z0-9 - ] +)$ 1/blog/$ 2- $ 3- $ 4- $ 5.html –

+0

还没有工作。 –