2015-08-28 3 views
0

Хей,Перенаправление папки в другой домен через Htaccess

Первые вещи сначала: я нашел две аналогичные должности, но решения не работают для меня. Итак, вот проблема:

У меня есть многопользовательская установка OpenCart. Поэтому я запускаю 2 магазина (один на немецком и один на английском) на двух отдельных доменах, причем файлы находятся в одной папке (веб-сервере). Прежде чем отделить немецкий магазин до своего собственного домена, у меня была немецкая версия магазина в подпапке, например shop1.com/de/xxxx.

Так что теперь мне нужно Htaccess перенаправление, которое направляет все немецкие адреса в новом домене, например:

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 действительно ненавидеть меня за это :(

Спасибо & лучше, Дерк

+0

Пожалуйста, уменьшите код до что действительно актуально здесь. В этом коде есть много вещей, которые не имеют никакого отношения к вопросу. – arkascha

ответ

1
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. Возможно, вам нужно настроить мои строки, чтобы предотвратить дополнительные перенаправления.

+0

Hej Martijn, спасибо большое! Работает как шарм. –

+0

Эй, Дерк, ты можешь принять мой ответ? –

+0

Готово. Извините, я на самом деле не привык к этой платформе (пассивный пользователь с годами, но сам не задавал вопрос). –

Смежные вопросы