【发布时间】:2013-10-20 09:34:26
【问题描述】:
目前我使用这些重写规则/条件:
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,不是论坛/,不是 contao/*)
【问题讨论】:
-
您正在使用永久重定向,这意味着浏览器会缓存重定向。它可能正在使用旧的重定向。将
[R=301]更改为[R](临时重定向)。然后清除浏览器的缓存并添加将网站根目录重定向到首选 url 的规则。 -
不,我从不使用 chrome 进行重定向测试。
标签: regex apache .htaccess mod-rewrite url-rewriting