Я использую плагин wpml для языкового перевода. Проблема, с которой я столкнулся, заключается в том, что мне не нужно имя каталога в URL-адресе для языка по умолчанию. Теперь URL-адрес похож на http://example.com/en/~filename
для языка по умолчанию, но я хочу http://example.com/~filename
. Можете ли вы предоставить мне решение для этого.
Я хочу удалить имя каталога из URL-адреса для языка по умолчанию в плагине wpml wordpress
comment
Насколько я знаю, в WPML нет подкаталогов в качестве языка по умолчанию. Вы проверили свои настройки: Язык по умолчанию? Вы уверены, что это не другой язык по умолчанию?
- person Leo Caseiro   schedule 06.07.2015
comment
@LeoCaseiro В WPML -> Языки -> Формат URL-адреса языка. У нас есть опция для отображения формата URL, одна из опций — ** Разные языки в каталогах**. я выбрал тот. Потому что мне нужен URL-адрес с именем каталога для второго языка и для языка по умолчанию без имени каталога.
- person Learner   schedule 06.07.2015
Ответы (1)
Если установка плагина не помогает, можно использовать такое правило в htaccess
RewriteRule ^([^/]+)/*$ /en/$1
person
splash58
schedule
06.07.2015
подскажите, пожалуйста, куда в htaccess поместить это?
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] RewriteRule ^([^/]+)/*$ /de/$1 </IfModule> # END WordPress
- person Learner; 06.07.2015
получил внутреннюю ошибку сервера при вводе кода после перезаписи базы
- person Learner; 06.07.2015
Чтобы избежать ошибки, добавьте
RewriteCond ${REQUEST_URI} /index.php
перед. В противном случае возникает бесконечный цикл. Но я не понимаю, как ваш языковой переключатель работает сейчас и будет работать.
- person splash58; 06.07.2015
wpml создает виртуальные каталоги. Например, если у меня есть два языка en и de, тогда он создает URL-адрес с именем каталога, таким как
http://www.example.com/en/
и http://www..example.com/de/
, поскольку язык de
используется по умолчанию для того, что я хочу example.com.
- person Learner; 06.07.2015
Что происходит после добавления RewriteCond?
- person splash58; 06.07.2015
он ничего не удаляет из URL-адреса. он все тот же, но внутренняя ошибка исчезла
- person Learner; 06.07.2015
@ Ученик, я был не в сети. там полный текст htacces. я думаю, это работает - eval.in/393533
- person splash58; 06.07.2015
Я просто хочу удалить имя каталога с помощью htaccess. ничего другого от
http://www.example.com/en/~filename
до http://www.example.com/~filename
. Так что мне нужно правило для этого. Предыдущие правила не работают
- person Learner; 07.07.2015
если вы остаетесь в htaccess только
RewriteEngine On RewriteRule ^en/(.*)$ /$1 [L]
- person splash58; 07.07.2015