我重新启动了一个最初使用Joomla创建的网站,现在使用Wordpress(使用子域多站点设置)。主要领域保持不变。
现在我正在尝试通过htaccess将旧页面重定向到新页面但是它似乎导致旧URL被格式化为“www.domain.com/index.php/de/oldpagename”的问题,因为它们在重定向生效之前似乎被剥夺了index.php(甚至是“/ de /”oder“/ en”部分)。
例如:
Redirect 301 /index.php/de/impressum http://de.domain.com/kontakt/
这导致de.domain.com/impressum所以重定向被忽略,但是URL被剥离了index.php,并且似乎有另一个基于/ de / part重定向到语言子域。
我对htaccess不是很熟悉,但我怀疑Wordpress的重写规则(也许是一个插件 - 多站点语言切换器)在这里干扰。
htaccess文件中唯一的其他代码是Wordpress部分:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
</IfModule>
# END WordPress
我尝试将重定向移到文件中的Wordpress重写规则之上,并在重定向中省略“/index.php”,两者都没有任何区别。我也尝试了Redirection插件但没有成功。
有人有解决方案吗? 我一直在搜索网络和Stockoverflow几个小时,但听起来很有希望的一切都与我的场景不符,或者涉及动态的Joomla网址。
非常感谢你!