1

目前我使用这些重写规则/条件:

RewriteEngine On
RewriteRule ^/forum/.* https://mineyourmind.net/forum/$1 [R=301,L]
RewriteRule ^/contao/.* https://mineyourmind.net/contao/$1 [R=301,L]
RewriteCond %{REQUEST_URI} !^/forum 
RewriteCond %{REQUEST_URI} !^/contao
RewriteCond %{HTTP_HOST} ^(www\.)?mineyourmind\.de$ [NC]
RewriteRule (.*) https://mineyourmind.net/de%{REQUEST_URI} [R=301,L]

它们工作完美,每次重写都应该保持不变而不是一个。

如果您访问 mineyourmind.de(主站点/主站点),我不会将其重定向到 mineyourmind.net/de。它应该重定向到 mineyourmind.net,.net 网站的重写可以决定语言。

我无法让这个工作,你将如何管理这个?


编辑:

这些重写规则没有问题,我在 apache 站点配置中使用它们。我只是希望所有进入 mineyourmind.de(根 url)的内容都指向 mineyourmind.net,而不是mineyourmind.net/de。所有其他重定向应保持不变。

编辑2:

  • mineyourmind.de/ -> mineyourmind.net
  • mineyourmind.de/forum -> mineyourmind.net/forum/
  • mineyourmind.de/contao -> mineyourmind.net/contao
  • mineyourmind.de/* -> mineyourmind.net/de/*

' ' = 所有其他网站(不是 root,不是 forum/,不是 contao/*)

4

1 回答 1

1

试试这个代码:

RewriteEngine On

RewriteRule ^/?((?:forum|contao).*)$ https://mineyourmind.net/$1 [R=301,L,NC]

RewriteCond %{HTTP_HOST} ^(www\.)?mineyourmind\.de$ [NC]
RewriteRule ^/?$ http://mineyourmind.net/ [R=301,L]

RewriteCond %{REQUEST_URI} !^/(contao|forum) [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?mineyourmind\.de$ [NC]
RewriteRule ^ https://mineyourmind.net/de%{REQUEST_URI} [R=301,L]

由于使用了确保它不是主页/根页面的正则表达式,这将跳过mineyourmind.de (the main/home site)重定向到。mineyourmind.net^/?.+$

于 2013-10-20T11:47:52.783 回答