htaccess — пропустить первую папку

Если у вас есть такой многоязычный сайт:

example.com/en/some-folder/some-file

example.com/ru/some-folder/some-file

example.com/et/some-folder/some-file

Можно ли поймать «ru», «en» и «et» в переменную PHP, такую ​​как $ lang, и в то же время иметь каталог, который выглядит так, используя только htaccess?

HTDOCS / некоторая папка / некоторые-file.php

Вместо:

HTDOCS / о / некоторая папка / некоторый-file.php

HTDOCS / RU / некоторая папка / некоторые-file.php

HTDOCS / эт / некоторая папка / некоторые-file.php


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

2

Решение

Вы можете использовать это в своем .htaccess:

RewriteEngine on
RewriteRule ^(en|ru|et)(/.*)$ $2?lang=$1 [NC,L,QSA]

перезапись example.com/en/some-folder/some-file.php в example.com/some-folder/some-file.php?lang=en

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]