2012-02-04 5 views
0

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

Я хотел бы получить:?

локальный/суб/ен/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] 

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

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

+0

Переводит ли '/ sub/en' на'/sub/en/'? Проверьте, включен ли htaccess, помещая некоторый случайный текст в файл htaccess и посмотрите, есть ли страница с ошибкой 500? – Gerben

+0

обычно YAMS добавляет/en/непосредственно после имени домена, поэтому вы можете получить www.example.com/en/sub/ – thelastshadow

ответ

1

Если вы получаете ссылки как локальный/EN/index.php? ID = 1 в интерфейсе Вы должны заполнить поле «MODx поддиректорию» с «суб». Вы найдете его в Модулях-> Ямс-> Другие пароли

1

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

здесь то, что я копирую из ямса и заменить в моем файле .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] 

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

Смежные вопросы