.htaccess 重写规则-多个请求优先级

b1zrtrql  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(126)

我试图使一些意义与多页和多域重定向。htaccess和无法找到一个解决方案。当然我的坏...
对于搜索引擎优化,我需要重定向一个项目的所有旧的子域页面到主域根,但一些页面,应该重定向到一个选定的主域子目录。
示例:

old.domain.com/         => www.domain.com/
old.domain.com/subdir   => www.domain.com/

old.domain.com/specific => www.domain.com/newspecific
old.domain.com/another  => www.domain.com/newanother

我并不擅长改写规则,我想出了这样的办法:

<IfModule mod_rewrite.c>
RewriteEngine On
# should be old.domain.com/specific => www.domain.com/newspecific
RewriteRule https://2014.designintown.org/2014/07/30/progetto-food-design/  https://www.designintown.org/progetto/ [R=301,L]

# should be old.domain.com/ => www.domain.com/
RewriteRule ^(.*)$ https://www.designintown.org/ [R=301,L]
</IfModule>

虽然第二条规则似乎行得通,但第一条不行。我哪里错了?提前感谢你的支持。
更新
我最终用以下方法解决了这个问题:

<IfModule mod_rewrite.c>

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/2014/07/30/progetto-food-design/$
RewriteRule ^(.*) https://www.designintown.org/progetto/ [R=301,L]

RewriteCond %{REQUEST_URI} ^/borse-di-studio/$
RewriteRule ^(.*) https://www.designintown.org/agevolazioni/ [R=301,L]

RewriteCond %{REQUEST_URI} ^/docenti/$
RewriteRule ^(.*) https://www.designintown.org/docenti/ [R=301,L]

RewriteRule ^(.*)$ https://www.designintown.org/ [R=301,L]

</IfModule>
t5zmwmid

t5zmwmid1#

我最终用以下方法解决了这个问题:

<IfModule mod_rewrite.c>

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/2014/07/30/progetto-food-design/$
RewriteRule ^(.*) https://www.designintown.org/progetto/ [R=301,L]

RewriteCond %{REQUEST_URI} ^/borse-di-studio/$
RewriteRule ^(.*) https://www.designintown.org/agevolazioni/ [R=301,L]

RewriteCond %{REQUEST_URI} ^/docenti/$
RewriteRule ^(.*) https://www.designintown.org/docenti/ [R=301,L]

RewriteRule ^(.*)$ https://www.designintown.org/ [R=301,L]

</IfModule>

相关问题