Я работаю над сайтом с многоязычной поддержкой. URL-адреса в формате:
https://example.com/gb/en/
https://example.com/fr/fr/
gb
относится к стране, en
относится к языку. Файл .htaccess
обрабатывает эти переменные и загружает из файла данные для конкретного языка.
Я пытаюсь продублировать этот сайт в подпапке, и он полностью работает отдельно от исходного сайта.
https://example.com/promo/gb/en/
https://example.com/promo/fr/fr/
Мой .htaccess
файл выглядит так:
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,NC,L]
ErrorDocument 404 /404.php
#force https
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://example.com/$1 [R,L]
RewriteRule \.js$ /sprocketize.php [QSA,L,NC]
RewriteRule ^(admin) - [L,NC]
RewriteRule ^(app) - [L,NC]
RewriteRule ^(ws) - [L,NC]
RewriteRule ^(opia) - [L,NC]
RewriteRule ^promo-select(/)?$ /promo-select.php [L,NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} ^(www.)?example\.com$ [NC]
RewriteRule ^([a-z]{2})/(.+)/$ http://%{HTTP_HOST}/$1/$2 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]{2})/([a-z]{2})(?:/(.*)|)$ /$1/$3?lang=$2 [NC,QSA,PT]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]{2})(?:/(.*)|)$ /$2?country=$1 [NC,QSA,PT]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php !-f
RewriteRule ^([^/]+)/(.*)$ /$2?keyword=$1 [NC,QSA,PT]
RewriteCond %{REQUEST_URI} !(\.[^./]+)$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ /$1.php [NC,QSA]
Я пытался изменить
RewriteRule ^([^/]+)/(.*)$ /$2?keyword=$1 [NC,QSA,PT]
до
RewriteRule ^promo/([^/]+)/(.*)$ /promo/$2?keyword=$1 [NC,QSA,PT]
и т. Д., Но он либо загружает исходный сайт, либо показывает ошибку «страница не найдена». Я также попытался добавить RewriteBase /promo
, но он только что загрузил основной сайт. Я подозреваю, что делаю что-то очевидное / глупое неправильно. Спасибо.
UPDATE
Я должен был сказать, что файлы в подпапке совпадают с корневой папкой, включая файл .htaccess
. Есть 2 .htaccess
файла, 1 в корне, 1 в подпапке. Я редактировал один в подпапке.