【发布时间】:2018-04-04 15:01:18
【问题描述】:
我需要帮助才能在我的 htaccess 文件中编写正确的重写规则。
我需要将fr.example.com 之类的内容重定向到example.com/fr,因为我们最近更改了整个网站,并且多语言系统的管理方式有所不同。结构和页面也是如此。
我用这段代码成功地做到了:
RewriteCond %{HTTP_HOST} ^fr\.example\.com [NC]
RewriteRule (.*) http://example.com/fr/$1 [L,R=301]
我现在的问题是为页面写一些更具体的东西,例如:
fr.example.com/discover/foo 应该转到example.com/fr/bar/foo(路径不同,没有一致)
但是! example.com/discover/foo 应该转到example.com/bar/foo(英文和法文的网址结尾相同)
现在,由于我有一些常见的 301 重定向,法语网址没有正确重定向并导致英文页面。比如那个:
Redirect 301 /discover/foo /bar/otherfoo
成功将example.com/discover/foo 重定向到example.com/bar/otherfoo,但也重定向fr.example.com/discover/otherfoo
如何为英语和法语编写两条不同的规则?我将不得不编写一堆不同的规则,因为从旧子域到新目录的一切都非常不同,我不介意。
谢谢!
编辑
请注意,它是为 wordpress 安装,htaccess 以 : 开头
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
【问题讨论】:
标签: .htaccess redirect subdomain