Итак, в основном, старый сайт целиком сделан во флэш-памяти, и я хочу переключиться на html-версию, назначить ее субдомену и сохранить все ссылки. Пример URL для вспышки выглядит следующим образом:Htaccess - перенаправить старый сайт с переменными на новый поддомен
http://site.com/dir/?language=french#/gallery/folder1/image1.jpg
Из вышеприведенного URL, мне нужно, чтобы получить довольно, как здесь:
http://dir.site.com/FR/gallery/folder1/image1.jpg
Конечно, если языковая переменная не указана, я хотел бы назначить по умолчанию lang «EN» для URL-адреса, поэтому я могу сделать переключатель языкового контроллера (будут только два языка - французский/FR и английский/EN).
Мой текущий файл Htaccess (http://site.com/dir/.htaccess) выглядит следующим образом:
RewriteCond %{REQUEST_URI} ^/dir
RewriteRule ^(.*)$ http://dir.site.com/$1 [R=301,L,P]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
Теперь мне нужно только преобразовать переменную языка, как в приведенном выше примере, но когда я пытаюсь установить еще одно правило в HTAccess, мой сайт получает ошибку переадресации:/
Что касается хеша (#) в URL-адресе - я сделал JS в файле index.php (который является моим первым контроллером), поэтому остается только язык ...
<script type="text/javascript">
if (location.href.indexOf("#") > -1) {
location.assign(location.href.replace(/\/?#/, ""));
}
</script>
Как делает URL выглядеть без параметра языка запросов? –
выглядит так: _site.com/dir/#/gallery/folder1/image1.jpg_ –
mod_rewrite не может делать подстроку. Я имею в виду, что '? Language = french' не может быть выполнен'/FR/'с использованием .htaccess. – anubhava