Intereting Posts
Получить миниатюру сообщения в виде массива Сохранение и отображение кода JavaScript Создание аудио-плейлиста с внешними аудиофайлами? check_admin_referer не работает в настраиваемом мета-поле для пользовательского типа сообщения Переместить сообщения в начало WP_Query, если в определенной таксономии? Когда WordPress не предоставляет файл .htaccess для новых многосайтовых сайтов из-за автоматического установщика CPanel Fantastico? Тема стилей не называется должным образом на клонированном веб-сайте Содержание WordPress Как редактировать удаленную галерею изображений? Ajax не работает для вставки, запроса и результатов данных Запуск сценария перед чем-либо еще Все страницы ведут к дому Почему при доступе к некоторым страницам WordPress на моей настройке localhost я могу получить страницу по умолчанию для localhost? Разрешать администраторам и редакторам доступ к wp-admin Проблема отображения ответов как часть последних комментариев автора к странице автора

Как добавить настраиваемое правило перенаправления для поддоменов?

Я пытаюсь написать настраиваемое правило перенаправления для перенаправления имени поддомена на соответствующую страницу.

Пример: wppage.example.comexample.com/wppage

Я использую следующий код в моих functions.php :

 function custom_rewrite_basic() { $rewrite = add_rewrite_rule('([^/]+)/?$', 'index.php?pagename=$matches[1]', 'top'); } add_action('init', 'custom_rewrite_basic'); 

Я также добавил перенаправление для всех субдоменов из моего DNS и подтвердил, что мой .htaccess имеет стандартные правила WordPress mod_rewrite .

Не знаю, почему, но я постоянно перенаправляюсь на свою домашнюю страницу.

Что я делаю не так?

Solutions Collecting From Web of "Как добавить настраиваемое правило перенаправления для поддоменов?"

Лучше не использовать такие правила переадресации субдомена в WordPress:

  1. WordPress может неправильно загружаться при доступе к нему с использованием неправильного имени домена или поддомена, так как стандартная установка WordPress настроена на выполнение для определенного домена или поддомена.

  2. Даже если вы сможете заставить его работать, перед тем, как каждое перенаправление WordPress сначала загрузится, а затем сделает перенаправление и затем снова загрузится, когда перенаправленный URL-адрес достигнет сервера. Это медленный процесс.

Вместо этого сделайте это .htaccess . Например:

 # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / # custom rules for subdomain matching RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com$ [NC] RewriteRule . http://example.com/%1 [R=301,L] # default WordPress rules RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress 

Это перенаправит все sub.example.com в example.com/sub .

Примечание . Вышеупомянутый CODE также перенаправляет www.example.com на example.com/www . Если вы этого не хотите, измените приведенные выше # custom rules for subdomain matching раздела # custom rules for subdomain matching следующим образом:

 # to redirect www.example.com/* to example.com/* RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] RewriteRule ^(.*)$ "http://example.com/$1" [R=301,L] # custom rules for subdomain matching RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com$ [NC] RewriteRule . http://example.com/%1 [R=301,L] 

Прочтите этот документ. чтобы узнать больше об apache mod_rewrite .

Кроме того, убедитесь, что mod_rewrite включен для .htaccess на вашем сервере.