Htacess Multi язык - PullRequest
       20

Htacess Multi язык

0 голосов
/ 01 апреля 2019

Я пытаюсь сделать многоязычную ошибку в моем htaccess.Но он не заходит на мою исходную страницу с ошибкой 404 или просто переходит только на одну из страниц с ошибками.

Я просто хочу проверить папку, и если папка "pt", она переходит к португальской ошибке 404страница, иначе она переходит на другие страницы с соответствующим языком.

я уже пробовал больше примеров, но не помог мне.

Ниже приведен код, который я уже пробовал.

Попробуйте # 1

ErrorDocument 404 http://www.teleondagroup.com/novosite/Teleonda/
RewriteRule ^([a-z]{2}) $1/404error.php [L]

Попробуйте # 2

RewriteRule ^(pt)/ /$1/404error.php [R,L]
ErrorDocument 404 http://www.teleondagroup.com/novosite/Teleonda/pt/404error.php

RewriteRule ^(en)/ /$1/404error.php [R,L]
ErrorDocument 404 http://www.teleondagroup.com/novosite/Teleonda/en/404error.php

Я уже решил проблему с этим сайтом.

https://webmasters.stackexchange.com/questions/47974/separate-404-page-for-subdirectory

1 Ответ

0 голосов
/ 01 апреля 2019

Вы можете использовать что-то вроде следующего:

RewriteEngine on

#if a file or directory doesn't exist in a particular folder
RewriteCond %{DOCUMENT_ROOT}/$0 !-f [OR]
RewriteCond %{DOCUMENT_ROOT}/$0  !-d
#redirect the request to /errorpage.php in that folder
RewriteRule ^([^/]+)/.*$ /$1/errorpage.php [L,R]

Это перенаправит файл 404 Uri в /errorpage.php, расположенный в запрошенном каталоге, т.е.example.com/demo/brokenlink.php до example.com/demo/errorpage.php.

Или, если это только для одного каталога /pt, вы можете использовать следующее:

 RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?pt.*$ /pt/errorpage.php [L,R]
...