Intereting Posts
Удаление строк в представлении «Управление сообщениями / страницами» Локальный сайт WordPress перенаправляет на общедоступный сайт Как добавить фильтр для вывода всех виджета У меня возникла проблема с обновлением формы / редактированием сообщения WordPress на интерфейсе Когда вы создаете персонализированный тип сообщения, это также создает возможности для автоматического редактирования / удаления этого типа сообщения? Переупорядочение разделов подменю администратора Не освежающая разбивка на страницы по результату поиска Перебирайте сообщения по каждому члену и исключайте дубликаты должностей, назначенных нескольким терминам Включить изображение, но не показывать его? Форма контакта 7 показывает условные выпадающие данные из массива json Создайте страницу без добавления страницы в базу данных Добавить редактор боковой панели / виджета на экран редактирования сообщений? Проблема Установка прав доступа к темам-файлам Premium на компьютере Mac, локальном компьютере? Как я могу изменить дизайн размеров продукта Отображать панели плагинов вне административных зон

Как удалить слово из URL-адреса в WordPress с помощью .htaccess?

На сайте, который я создаю, есть пост-тип под названием «Фокус». Поскольку они должны быть похожими на www.mysite.com/focus/page-post-name меня есть пул типа сообщения как «фокус».

Конечно, страница с архивами – www.mysite.com/focus что вызывает проблему, так как мне нужна конкретная страница, чтобы быть страницей архива. Мета-боксы используются для создания и добавления настроек на страницы. Я не могу просто создать страницу под названием «Фокус», поскольку она зарезервирована пост-типом.

Моя идея – создать страницу под названием «Наше фокус», в результате получив URL-адрес www.mysite.com/our-focus .

Я хотел бы просто удалить «наш» из этого URL-адреса, чтобы оно показалось, что архив используется.

Я пробовал установить has_archive в false, но это просто возвращается к использованию страницы archive.php.

Solutions Collecting From Web of "Как удалить слово из URL-адреса в WordPress с помощью .htaccess?"

Вы можете добавить следующее в ваш файл .htaccess между тегами <IfModule mod_rewrite.c> :

 RewriteCond %{HTTP_HOST} RewriteRule ^our-focus/(.*)$ /focus/$1 [R=301,L] 

Ваш .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] # Custom Rewrite RewriteCond %{HTTP_HOST} RewriteRule ^our-focus/(.*)$ /focus/$1 [R=301,L] </IfModule> # END WordPress 

В результате он будет делать следующее:

 http://example.com/our-focus/test 

Перенаправления на:

 http://example.com/focus/test 

Если я правильно понимаю, у вас есть тип сообщения, в котором используется пул / focus slug, но вы хотите, чтобы обычная страница под названием Our Focus использовала этот пул. Для использования этой страницы вам потребуется переписать пул для персонализированного типа сообщения, независимо от того, включены ли архивы.

Если вы создали пользовательский тип сообщения в файле functions.php вашей темы, вы можете использовать параметр rewrite для установки другого пула. Например:

 add_action('init', 'register_cpt'); function register_cpt() { register_post_type('focus', array( 'label' => 'Focus', 'rewrite' => array('slug' => 'REWRITE-SLUG', 'with_front' => true), ) ) ); } 

Замена «REWRITE-SLUG» с помощью пули по вашему выбору.

См. Эту страницу Codex для получения дополнительной информации.

Использование перезаписи .htaccess само по себе не будет работать, поскольку этот слизень по-прежнему будет конфликтовать с slug настраиваемого типа сообщения. Вам нужно будет переписать slug для пользовательского типа сообщения, а затем вы можете просто изменить постоянную ссылку на экране редактирования страницы в / focus. Нет необходимости редактировать файл .htaccess.