你好,
首先,第一件事:我发现了两个类似的帖子,但是解决方案对我不起作用。所以这是问题:
我有一个OpenCart多商店安装。因此,我在2个不同的域中经营2家商店(一家用德语,一家用英语),文件位于一个文件夹(Web服务器)中。在将德国商店分离到其自己的域之前,我将商店的德语版本放在类似shop1.com/de/xxxx的子文件夹中。
因此,现在我需要一个htaccess重定向,它将所有德语URL转发到新域,例如:
english-shop.com/de/page1-> german-shop.de/page1
# Prevent Directoy listing
Options -Indexes
# Prevent Direct Access to files
<FilesMatch "\.(tpl|ini|log)">
Order deny,allow
Deny from all
</FilesMatch>
RewriteEngine On
RewriteBase /
# append WWW
RewriteCond %{HTTP_HOST} !^www.
RewriteCond %{HTTP_HOST} !^$ [NC]
RewriteRule ^(.*) https://www.%{HTTP_HOST}/$1 [R,L=301]
# delete trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [R=301,L]
# Force SSL
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{HTTPS} !=off
# OpenCart SEO URL Settings
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
#RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
RewriteRule ^(?:(?:(\w{2})(?:/|\z))?(?:/|\z)?)?(?:([^?]*))? index.php?_route_=$2&site_language=$1 [L,QSA]
如果有人可以帮助我,那将是非常不错的。我确实找到并尝试了几种解决方案,但没有任何效果。Google真的为此而讨厌我:(
谢谢,最好,德克
RewriteCond %{HTTP_HOST} !german-shop.de
RewriteRule ^de/(.*) http://german-shop.de/$1 [R,L=301]
第一行防止在调用german-shop.de/de/时发生重定向循环。第二行是/ de /之后的部分,并将其放在german-shop.de之后。
注意:在您的.htaccess中,您可以在前面加上www来做一些事情。并执行https。也许您需要调整我的行数以防止额外的重定向。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句