Язык сайта - htaccess RewriteRule - PullRequest
2 голосов
/ 26 января 2011

Я пытаюсь использовать правила и условия с .htaccess, но не знаю, как делать то, что мне нужно.

Вот сцена:

У меня есть веб-сайт со многими языками,(en | es | pt)

Я хочу использовать URL-адреса следующим образом:

 www.site.com/home/ 
 (original url): www.site.com/index.php?p=home
 (opens home.php - session language)

И вот так:

www.site.com/en/home/
(original url): www.site.com/index.php?l=en&p=home
(opens home.php - en language)

Каковы условия / условиячто мне нужно создать для определения языка в URL?

TIA


РЕШЕНИЕ:

RewriteRule ^(en|es|pt)?\/?([a-z0-9A-Z,_-]+)\/?$ index.php?l=$1&p=$2 [QSA,L]

Спасибо

Примечание: «текущее решение также позволяет переписать что-то вроде / enfoobar в /index.php?l=en&p=foobar, так как / не зависит от индикатора языка» - Gumbo

Ответы [ 2 ]

1 голос
/ 27 января 2011

Возможно, вы используете что-то вроде этого

RewriteEngine on
RewriteBase /

RewriteRule ^(en|es|pt)/(.*) /index.php?l=$1&p=$2 [QSA,L]
0 голосов
/ 28 января 2014

Для любых 2-значных символов языков

Опции + FollowSymlinks ПереписатьEngine на RewriteRule ^ [a-zA-Z] [a-zA-Z] /index.html$ index.html? Language = $ 1 RewriteRule ^ index.html $ /index.php [L]

...