【问题标题】:Rewriterule (.htaccess) to redirect subdomains to subfoldersRewriterule (.htaccess) 将子域重定向到子文件夹
【发布时间】:2014-03-17 21:01:00
【问题描述】:

我正在尝试将大量子域自动重定向到子文件夹。这是我正在尝试做的事情:

http://gerard.joling.easybookings.nl/ --> http://www.easybookings.nl/gerard-joling/

我想将子域中的点替换为子文件夹中的虚线。我目前有这个正则表达式/重写器:

重写引擎开启 RewriteCond %{HTTP_HOST} ^([a-z]+)\.([a-z]+)\.easybookings\.nl$ 重写规则 ^(.*)$ http://www.easybookings.nl/artiesten/$1\-$2 [R=301,L]

此重写规则返回“www.easybookings.nl/artiest/-”。

【问题讨论】:

    标签: regex .htaccess mod-rewrite redirect rewrite


    【解决方案1】:

    您需要在这里使用%1%2 反向引用:

    RewriteEngine on
    
    RewriteCond %{HTTP_HOST} ^([a-z]+)\.([a-z]+)\.(easybookings\.nl)$ [NC]
    RewriteRule ^(.*)$ http://www.%3/%1-%2/$1 [R=301,L]
    
    RewriteCond %{HTTP_HOST} ^([a-z]+)\.([a-z]+)\.([a-z]+)\.(easybookings\.nl)$ [NC]
    RewriteRule ^(.*)$ http://www.%4/%1-%2-%3/$1 [R=301,L]
    

    【讨论】:

    • 这适用于子域中的两个术语。有没有办法为子域中的一个或多个术语自动化它?我正在寻找一段适用于:one.two.easybookings.nl --> www.easybookings.nl/one-two,但也适用于 one.two.three.easybookings.nl --> www 的代码。 easybookings.nl/一二三
    • 如你所知,我已经为你提供了两条规则来涵盖这两种情况。
    • 所以你必须为两者提供不同的规则?我在子域中有从 2 到 10 个术语的 URL。如果可以用一条规则覆盖它,有什么想法吗?
    猜你喜欢
    • 2012-11-23
    • 2021-08-14
    • 2013-11-08
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 2013-12-03
    • 2012-09-17
    • 1970-01-01
    相关资源
    最近更新 更多