404 страница не найдена в YAMS - PullRequest
0 голосов
/ 04 февраля 2012

Мне нужна помощь здесь. Я использую MODx с модулем YAMS, который предназначен для многоязычного. Я следую документу по установке и настройке от YAMS, но все равно получаю страницу 404, не найденную.

Хотелось бы получить:

локальный / суб / о / index.php? ID = 1

локальный / суб / фр / index.php? ID = 1

локальный / суб / й / index.php? ID = 1

исходная ссылка

локальный / суб / index.php? ID = 1

вот правило перезаписи в файле htaccess. Я получил правило перезаписи от YAMS на вкладке «Конфигурация сервера».

# Friendly URLs
RewriteEngine On
RewriteBase /sub/

# Fix Apache internal dummy connections from breaking [(site_url)] cache
RewriteCond %{HTTP_USER_AGENT} ^.*internal\ dummy\ connection.*$ [NC]
RewriteRule .* - [F,L]

# Exclude /assets and /manager directories from rewrite rules
RewriteRule ^(manager|assets) - [L]

# Redirect from mydomain.com/rootname to mydomain.com/rootname/
RewriteRule ^en$ en/ [R=301,L]
RewriteRule ^fr$ fr/ [R=301,L]
RewriteRule ^th$ th/ [R=301,L]

# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^th/(.*)$ index.php?q=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^fr/(.*)$ index.php?q=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^en/(.*)$ index.php?q=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Я пытаюсь найти все решения повсюду. все еще не повезло. пожалуйста, предложите или укажите мне, что я делаю не так?

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 08 июля 2014

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

вот что я копирую из YAMS и заменяю в моем .htaccess файле:

# Redirect from mydomain.com/rootname to mydomain.com/rootname/
RewriteRule ^en$ en/ [R=301,L]
RewriteRule ^fr$ fr/ [R=301,L]
RewriteRule ^th$ th/ [R=301,L]

# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^th/(.*)$ index.php?q=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^fr/(.*)$ index.php?q=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^en/(.*)$ index.php?q=$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Большое спасибо за предложения.

1 голос
/ 27 февраля 2012

Если вы получаете ссылки, такие как localhost / en / index.php? Id = 1 во внешнем интерфейсе, вам необходимо заполнить поле «MODx Subdirectory» словом «sub».Вы найдете его в Модули-> Ямс-> Другие параметры

...