Мультиязычный файл htaccess (LTD) - PullRequest
0 голосов
/ 07 января 2012

Я хочу иметь многоязычный сайт. Теперь у меня есть 2 домена. Первый является основным доменом. Это веб-сайт. И у меня есть псевдоним домена, website.org. Таким образом, 2 домена находятся в одной папке public_html.

То, что я хочу, это: website.nl будет использовать файл /index.php/$1 и website.org будет использовать файл /gb/index.php/$1 (поэтому, когда URL-адрес website.org/test, вы будете использовать файл /gb/index.php/test (без перенаправления URL)

В другой теме по stackoverflow я обнаружил следующее:

Options +FollowSymlinks
RewriteEngine on

RewriteCond %{HTTP_HOST} website.org
RewriteRule ^(.*)$ /gb/index.php [L]

RewriteRule ^(.*)$ /index.php/$1 [L]

Но этот файл htaccess не будет работать. Я получу 500 ошибок. Вот и все.

Может кто-то увидеть, что идет не так?

1 Ответ

2 голосов
/ 07 января 2012

Ваши правила зацикливаются, в противном случае 2 правила будут путаться друг с другом и зацикливаться бесконечно (например, запрос /foo приведет к /index.php/index.php/index.php/index.php... etc, что приведет к возвращению 500).Вам нужно добавить некоторые условия, чтобы остановить цикл.Попробуйте изменить условия и правила на:

RewriteCond %{HTTP_HOST} website.org
RewriteCond %{REQUEST_URI} !^/gb/index.php
RewriteRule ^(.*)$ /gb/index.php/$1 [L]

RewriteCond %{REQUEST_URI} !^/gb/index.php
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule ^(.*)$ /index.php/$1 [L]
...