Apache重写规则正则表达式

时间:2013-05-06 03:38:02

标签: regex apache rewrite

我正在尝试编写重写规则来重定向我的新webhelp系统中的文件(它是一个独立的网站)。 我有两件事我试着考虑 - 我想仅重定向http://www.mydomain.com/webhelp文件夹中的文件。 我需要将.html最终更改为.htm ... 我设法通过匹配http://www.mydomain.com/webhelp来找到每个规则,但是 当我尝试重写cond时,它会中断......

基本上,它 http://www.mydomain.com/webhelp/hello.htmlhttp://www.mydomain.com/webhelp/hello.htm 没有改变 http://www.mydomain.com/index.html

非常感谢任何帮助。 谢谢!

2 个答案:

答案 0 :(得分:0)

您需要使用反向引用。类似的东西:

RewriteRule   ^www/webhelp/(.*)[.]html([#])(.*)[.]html$ www/webhelp/$1.htm$2$3.htm
RewriteRule   ^www/webhelp/(.*)[.]html$ www/webhelp/$1.htm

答案 1 :(得分:0)

如果您将以下内容放入.htaccess文件夹中的webhelp文件中,则应该可以实现您的目标:

RewriteEngine on

RewriteBase /webhelp/
RewriteRule ^(.*).html$ $1.htm [R=301,L]