Прежде всего - я довольно долго искал ответ в stackoverflow и через Google, но пока не удалось найти возможное решение, любой совет был бы очень признателен.
проблема:
У меня есть страница
www.mypage.com
и контролировать язык, отображаемый с помощью параметра GET
-> www.mypage.com / index.php? Target = 1 & lang = ru
Теперь клиент зарегистрировал домен на united-domains ( www.mypage.it ) и хочет, чтобы я отображал итальянскую версию страницы всякий раз, когда домен www .mypage.it запрашивается.
Поставщик united-domains предлагает решение под названием URL-HIDING, которое, по-видимому, в основном передает запрос в структуру URL + папок, которую я предоставляю (например, www.mypage.com / lang / это - в соответствии со спецификациями объединенных доменов это должна быть структура папок, а не файла)
решение до сих пор:
Звонки на домен: www.mypage.it будут сопоставлены с www.mypage.com / lang / it / с помощью опции URL-HIDING.
там .htaccess файл переписывает ЗАПРОСЫ к фактической цели:
RewriteEngine on
## check if query string contains NOT 'lang='
## (lang might be changed by user after initial request)
RewriteCond %{QUERY_STRING} !lang=
## redirect to page
RewriteRule ^(.*)$ http://www.mypage.com/index.php?target=1&lang=it
## check if query string contains 'lang='
RewriteCond %{QUERY_STRING} lang=
## Keep the existing query string using the Query String Append flag
RewriteRule ^(.*)$ http://www.mypage.com/index.php? [QSA]
Проблема конечно: файлы CSS, javascript, image, ... включены с относительным путем
<link href="scripts/style.css" rel="stylesheet" type="text/css">
<script src="scripts/media.js" type="text/javascript">
<img src="images/logo.jpg">
<a href="download/test.pdf">PDF</a>
, поэтому соответствующий запрос scripts / style.css сопоставлен с http://www.mypage.com/lang/it/scripts/style.css
К сожалению, я застрял в механизме URL-HIDING объединенных доменов, и меняя каждый относительный путь, / scripts / media.js не вариант, так как мне пришлось бы немного изменить код.
У кого-нибудь есть решение для этого (я боюсь, что мои знания .htaccess не самые лучшие)
Не могу я просто удалить lang / it / из КАЖДОГО запроса и дополнительно проверить, содержит ли QUERY_STRING строку lang = и действительно ли она добавляет ? Lang = it
спасибо всем, кто до сих пор читал - если у кого-то есть предложение, я буду более чем благодарен!
оставайся здоровым,
Матиас