【问题标题】:Apache rewrite rule regexApache重写规则正则表达式
【发布时间】:2013-05-06 03:38:02
【问题描述】:

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

基本上,它的 http://www.mydomain.com/webhelp/hello.html 进入 http://www.mydomain.com/webhelp/hello.htm 不变 http://www.mydomain.com/index.html

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

【问题讨论】:

    标签: regex apache rewrite


    【解决方案1】:

    如果您将以下内容放入您的webhelp 文件夹中的.htaccess 文件中,它应该会实现您要查找的内容:

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

    【讨论】:

    • 这是完全相同的东西的更精致的版本。如果您不介意,请编辑现有帖子进行润色,而不是发布新答案或添加 cmets。
    • 是的,感谢您的评论,您是正确的。我现在试试这个,让你知道。谢谢你的时间:)
    【解决方案2】:

    您需要使用反向引用。比如:

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 2016-02-10
    • 2021-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多