У меня есть два блога на двух разных доменах, которые я объединяю на одном сайте. Я не слишком знаком с администратором сервера, но я на 99% уверен, что то, что я хочу сделать, возможно на bluehost (поскольку они разрешают .htaccess) и с использованием mod_rewrite (или аналогичного).
В настоящее время у меня есть blog1.com
и blog2.com
, а URL-адреса сообщений выглядят как blog1.com/001
и blog2.com/030
. Я хочу, чтобы любой, кто вводит один из этих URL-адресов, был перенаправлен на example.com/blog1/1
и example.com/blog2/30
.
Это означает, что мне нужно:
- Перенаправить весь домен в папку на моем новом домене
- Перенаправление обращений на URL-адрес с начальными нулями на URL-адреса без начальных нулей
- Вероятно, это означает перенаправление
blog1.com/001
иexample.com/blog1/001
наexample.com/blog1/1
ОБНОВЛЕНО
На http://htaccess.madewithlove.be выполняются 1-е и 2-е условия, но правила не срабатывают.
3-й полностью ломается и возвращает странность: http://example.com/blog1/030log1/030
RewriteEngine On
# redirect blog1.com/030 => example.com/blog1/30
RewriteCond %{HTTP_HOST} ^(?:www\.)?(blog1|blog2)\. [NC]
RewriteRule ^0*([1-9]+)/?$ http://example.com/%1/$1 [R=301,L]
# redirect example.com/blog1/030 => example.com/blog1/30
RewriteCond %{HTTP_HOST} ^(?:www\.)?example\.com$ [NC]
RewriteRule ^(blog1|blog2)/0*([1-9]+)/?$ /$1/$2 [NC,R=301,L]
# Never use www
RewriteCond %{HTTP_HOST} ^www.(([a-z0-9_]+.)?example.com)$ [NC]
RewriteRule .? http://%1%{REQUEST_URI} [R=301,L]]