Задать вопрос
@mrDevel

Как переставить части URL. CMS Wordpress?

День добрый.
Есть ссылка вида site/about или site/en/about. Установленный плагин позволяет описать страницы для site/de/about, site/pl/about и т.д. Открывает соответствующие страницы на соответствующих языках. Но клиенту не нравится такой вид. Требуется сделать что-то следующего вида:
site/about - для русского языка
site/about/de - немецкий
site/about/pl - польский и т.д.
При этом "about" может быть разным для каждой страницы "o-firme" и т.д.

Пытался копать в сторону htaccess. Но лучшее, что получилось - сделать Redirect на страницу с переставленной частью URL

Уже что я не пробовал:

#Redirect 301 /about-en/en site/en/about-en
#Redirect 301 /about-en/en /en/about-en/

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

#RewriteCond %{QUERY_STRING} !(.*)/([^/]*)/(en|ru|de|fr|ua|pl)$
#RewriteRule ^([^/]*)/{1,2}([^/]*)$ $2/$1 [L]

Сервер или уходит в 500 или выдает 404 или делает редирект на страницу с перевернутой ссылкой.
Но мне не нужен редирект. Мне нужен только контент по данной ссылке, а ссылка в URL должна оставаться неизменной. Не пойму, в каком направлении копать. Все мануалы по mod_rewrite уже прочитаны. Но максимум, не подмена, а редирект.
Подскажите, куда копать?
  • Вопрос задан
  • 103 просмотра
Подписаться 1 Сложный Комментировать
Ответ пользователя Орхан Гасанлы К ответам на вопрос (3)
azerphoenix
@azerphoenix
Java Software Engineer
Я знаю, что в плагине WPML есть возможность выбирать 3 типа ссылок:
1) en.site.com/about ru.site.com/about и т.д.
2) site.com/en/about site.com/ru/about
3) site.com/about?lang=en site.com/about?lang=ru
Может один из 3-х вариантов устроит? Кажется такая же возможность есть в QTranslate-X & WPGlobus
Ответ написан