помогите с перезаписью URL для мультиязычного сайта с .htaccess (Apache) - PullRequest
0 голосов
/ 07 июля 2010

У меня есть мультиязычный сайт, и я пытаюсь переписать URL-адреса с помощью фальшивого каталога примерно так:

http://localhost/theSite/page.php?id=param&cat=param?lang=en,fr,es до http://localhost/theSite/(en|fr|es)/page/param/param

.htaccess
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(fr|en|en)/(.*) $2.php?id=$1&cat=$2&lang=$3 [NL,QSA]

Это разрешается как ошибка 404.

Любая помощь будет признательна.

Ответы [ 2 ]

4 голосов
/ 07 июля 2010
RewriteRule ^(en|fr|es)/(.*?)/(.*?)/(.*) $2.php?id=$3&cat=$4&lang=$1 [NC,QSA]

Полагаю, вы имели в виду NC (без дела), а не NL.Вы упомянули группы захвата, которых не было, и повторили $2.

2 голосов
/ 07 июля 2010

Ваш второй захват будет захватывать все до конца URL. Возможно, вы удвоили расширение или неправильный каталог.

Хотя это не должно влиять на перенаправление, у вас нет третьего захвата, так где же $3?

Посмотрите на ваши заголовки и посмотрите, куда они действительно перенаправляются, и оставьте комментарий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...