【问题标题】:RewriteRule for multiple subdirectories多个子目录的 RewriteRule
【发布时间】:2017-01-26 12:30:40
【问题描述】:

我似乎找不到这个问题的答案。

我有一个带有子目录结构的多种语言的网站。现在我需要将它们自动从 index.htm 重定向到 /

例如

agb-german/index.htm -> agb-german/
agb-english/index.htm -> agb-english/

当然,我可以只为每种语言创建一个重定向,但我认为重写器在性能方面也会做得更好。

所以我需要类似的东西

RewriteRule ^agb-(.*)/index.(.*)$ /agb-{how-to-get-this-from-the-request?}/ [R=301,L]

【问题讨论】:

    标签: apache .htaccess redirect mod-rewrite


    【解决方案1】:

    你可以使用这条规则:

    RewriteCond %{THE_REQUEST} /agb- [NC]
    RewriteRule ^(agb-\w+)/index\. /$1 [R=301,L,NC]
    

    我们正在匹配来自输入 URL 的 agb-\w+ 并使用括号 (...) 我们捕获 $1 中的匹配值。

    【讨论】:

    • 如果我反过来需要它,以便 agb-english 后面的所有内容都指向 agb-english/index.htm 怎么办? RewriteCond %{THE_REQUEST} /agb- [NC] RewriteRule ^(agb-\w+)\. /$1/index.htm [R=301,L,NC]
    • 你能举个例子告诉我你需要什么重写规则吗?
    猜你喜欢
    • 2019-03-30
    • 1970-01-01
    • 2017-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多