Я просто перешел на сайт WordPress. Раньше у меня был статический сайт и блог WordPress на субдомене (blog.example.com
). Я использую приведенный ниже код, который полностью перенаправляет все мои сообщения в блоге на мой новый сайт. Есть ли способ сделать исключение для главной страницы блога? Чтобы быть конкретным, мне нужен код ниже, чтобы применить ко всем моим сообщениям, категориям и т. Д. (Это уже есть), но мне нужна моя старая домашняя страница блога (blog.example.com
), чтобы 301 перенаправить на мою новую домашнюю страницу блога (example.com/blog
). Чтобы быть предельно ясным, мои сообщения и т. Д. НЕ используют blog
в постоянной ссылке..htaccess точное совпадение файла, а не точное соответствие
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^blog.example.com$ [NC]
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
</IfModule>
ОБНОВЛЕНИЕ: Спасибо, Олаф! Получил это с вашим советом. Вот мой последний код для всех, кто ищет ответ.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^blog.example.com$ [NC]
RewriteRule ^$ http://www.example.com/blog [R=301,L]
RewriteCond %{HTTP_HOST} ^blog.example.com$ [NC]
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
</IfModule>
Не забывайте избегать точек в регулярном выражении, чтобы соответствовать буквальной точке, а не любому символу. то есть. '^ Блог \ .example \ .com $'. Или используйте лексикографическое сравнение. например '= blog.example.com'. – MrWhite