Я хочу удалить имя каталога из URL-адреса для языка по умолчанию в плагине wpml wordpress

Я использую плагин wpml для языкового перевода. Проблема, с которой я столкнулся, заключается в том, что мне не нужно имя каталога в URL-адресе для языка по умолчанию. Теперь URL-адрес похож на http://example.com/en/~filename для языка по умолчанию, но я хочу http://example.com/~filename. Можете ли вы предоставить мне решение для этого.


person Learner    schedule 06.07.2015    source источник
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
comment
подскажите, пожалуйста, куда в 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
comment
получил внутреннюю ошибку сервера при вводе кода после перезаписи базы - person Learner; 06.07.2015
comment
Чтобы избежать ошибки, добавьте RewriteCond ${REQUEST_URI} /index.php перед. В противном случае возникает бесконечный цикл. Но я не понимаю, как ваш языковой переключатель работает сейчас и будет работать. - person splash58; 06.07.2015
comment
wpml создает виртуальные каталоги. Например, если у меня есть два языка en и de, тогда он создает URL-адрес с именем каталога, таким как http://www.example.com/en/ и http://www..example.com/de/, поскольку язык de используется по умолчанию для того, что я хочу example.com. - person Learner; 06.07.2015
comment
Что происходит после добавления RewriteCond? - person splash58; 06.07.2015
comment
он ничего не удаляет из URL-адреса. он все тот же, но внутренняя ошибка исчезла - person Learner; 06.07.2015
comment
@ Ученик, я был не в сети. там полный текст htacces. я думаю, это работает - eval.in/393533 - person splash58; 06.07.2015
comment
Я просто хочу удалить имя каталога с помощью htaccess. ничего другого от http://www.example.com/en/~filename до http://www.example.com/~filename. Так что мне нужно правило для этого. Предыдущие правила не работают - person Learner; 07.07.2015
comment
если вы остаетесь в htaccess только RewriteEngine On RewriteRule ^en/(.*)$ /$1 [L] - person splash58; 07.07.2015