Как переписать URL на многоязычном сайте, с разными доменными именами? - PullRequest
0 голосов
/ 16 февраля 2011

Я создал международный веб-сайт, на котором доступны следующие языки:

www.sitename.com / es / spanishpage.html
www.sitename.com/de/germanpage.html
www.sitename.com/fr/frenchpage.html
...

Все папки lang являются виртуальными, поэтому я могу создавать сотни версий с одинаковым количеством страниц PHP.Для этого я использую правила перезаписи для создания страниц, что-то вроде этого:

RewriteRule ^germanpage\.html$ /page.php?lang=de [L]

Теперь я хотел бы использовать реальные доменные имена.Как я могу это сделать, пожалуйста?Я думаю, что мне нужно создать физические папки (de /, / fr / ...) для доменов, но как мне тогда переписать страницы?

Я имею в виду, sitename.de/ переходит на myserver.com/de/.Это работает, но это пустая папка.Как я могу перенаправить весь сайт на мои страницы, расположенные по адресу myserver.com/page.php?lang=de, пожалуйста?

Большое спасибо за вашу помощь!Я действительно потерян.

nb.не знаю, является ли это важным, но сайт работает на выделенном сервере.

Ответы [ 2 ]

0 голосов
/ 16 февраля 2011

Ответ, который я нашел, состоит в том, чтобы установить все домены под корнем сервера, а затем просто поместить перенаправления без виртуальных папок.

так для mydomain.com/de/germanpage.html

Это правило:

RewriteRule ^de/germanpage\.html$ page.php?lang=de

Становится:

RewriteRule ^germanpage\.html$ page.php?lang=de

Должно быть более простое решение (потому что теперь у меня не может быть .de / contact.html и .fr / contact.html) но по крайней мере это работает.

0 голосов
/ 16 февраля 2011

вы можете использовать программные ссылки вместо создания физических папок. Нажмите здесь, чтобы узнать больше о символической ссылке

Перейдите в корневую папку своего домена (скажем, у вас есть index.php в корневой папке) myserver.com

теперь выполняйте следующие команды

ln -s es
ln -s de
ln -s fr

сейчас, если у вас есть доступ http://myserver.com/fr/index.php файл, который будет выполнен http://myserver.com/index.php

...