.htaccess将目录中的所有内容重定向到不同的域

时间:2017-09-20 06:34:26

标签: .htaccess

我们有一个WordPress网站/单个应用,它提供两个域名:example.comexample.es

在我们的.htaccess文件中,我们目前有以下规则:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{HTTP_HOST} ^example.es
RewriteRule ^(.*)$ http://www.exmaple.es/$1 [R=permanent,L]

RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

我们还需要将所有内容从example.com/es/...重定向到example.es/...。我已经尝试了多个我能找到的例子,但没有一个能够工作(最终导致500服务器错误和空日志),这里有几个:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/es/(.*)$
RewriteRule ^(.*) http://www.example.es/%1 [R=302,NC]

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com/es [NC]
RewriteRule ^(.*)$ http://www.example.es/$1 [R=301,NC,L]

所有新规则都放在<IfModule mod_rewrite.c>

非常感谢任何帮助或指导。

1 个答案:

答案 0 :(得分:0)

@ Domas Hi Domas,您的案例中的流程是更新您的网站,安装一些有关域名更改的重要扩展。

更改首选域名别名WordPress使用

如果您的WordPress 站点有一个指向它的域名别名,并且您希望WordPress更喜欢其生成的链接中的别名域名,您可以在WordPress仪表板中更新域名:

Click Settings.
Change the WordPress Address (URL) to the new URL that you want to use.
Change the Site Address (URL) to the same value.
Click Save Changes.

您需要 WP超级缓存,此扩展程序可帮助您自动更新.htaccess ,并像您一样更改所有需求配置站点。 首先安装扩展程序https://support.tigertech.net/move-wordpress#updating-htaccess-wp-jmp

此外,如果您不需要任何扩展程序,并且您希望通过手工操作,只需根据需要重定向此示例:

#the simple redirection
Redirect 301 /es http://www.example.es/

#Redirect from old domain with subdirectory to new domain
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/es/(.*)$
RewriteRule ^(.*) http://www.example.es%{REQUEST_URI} [R=302,NC]

这取决于你的需要我更喜欢最后一个。此致