Я пытаюсь создать веб-сайт с двумя или более языками, которые получают изменения на основе URL с подпапками. У меня нет большого опыта работы с .htaccess
файлами.
Это код, который я использую внутри .htaccess
файла, помещенного в папку root
:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
#Multi lang version
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(en) index.php [L,NC]
RewriteRule ^(en)/(.*)$ $2.php [L,NC]
RewriteRule ^([^.]+)$ $1.php [L,NC]
ErrorDocument 404 /error.php
Вот что я пытаюсь сделать:
sitename.com/
цель root/index.php
sitename.com/en
цель root/index.php
sitename.com/en/
цель root/index.php
sitename.com/pagename
цель root/pagename.php
sitename.com/pagename/
цель root/pagename.php
sitename.com/en/pagename
цель root/pagename.php
sitename.com/en/pagename/
цель root/pagename.php
sitename.com/404
цель root/error.php
sitename.com/404/
цель root/error.php
sitename.com/en/404
цель root/error.php
sitename.com/en/404/
цель root/error.php
Я пытался этот ответ и это , но он не работает.
Если перейти к sitename.com/en
, все работает. Он загружает index.php
файл.
Но когда я перехожу на sitename.com/en/
, я перехожу на страницу 404
. То же самое на sitename.com/en/pagename/
.
И когда я пытаюсь перейти на sitename.com/fakelanguage/
, я перехожу на страницу root/index.php
вместо 404
.
Есть ли способ заставить все дела работать?