2015-11-25 4 views
1

Просто запустил новый сайт. Сохранял старый сайт, но назначил его субдомену.как перенаправить URL-адрес, содержащий определенный каталог, на тот же URL-адрес на новый поддомен

Мне нужно перенаправить запросы на старые URL-адреса сайтов в новый поддомен.

Старые URL-адреса сайтов имеют следующую структуру: «www.oldsite.com/BMT/xxxxxx», где «/ BMT /» непосредственно следует за .com.

мне нужен .htaccess для пересылки URL, как и в «subdomain.oldsite.com» вместо «www.oldsite.com», сохраняя тот же путь после «/ BMT /»

Любые URL-адреса без «/ BMT /» не следует перенаправлять.

Из моих исследований, я думаю, что это могло бы работать

RewriteCond %{REQUEST_URI} ^/BMT http://subdomain.oldsite.com%{REQUEST_URI} [L,R=301] 

Могу ли я на правильном пути?

Если да, то где я должен добавить его в свой текущий .htaccess?

Текущий .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] 
</IfModule> 

# END WordPress 

ответ

1

Да, вы правы,

RewriteCond %{REQUEST_URI} ^/BMT [NC] 

это условие, если он вышлет строку запроса Uri, начиная с/BMT, то правило будет перенаправить uri до http://sub.domain.

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 

RewriteCond %{REQUEST_URI} ^/BMT [NC] 
RewriteRule ^(.*)$ http://sub.oldsite.com/$1 [NC,R,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 
+0

Отлично! Я предполагаю, что исключение [NC] сделает условие чувствительным к регистру? – webguy

Смежные вопросы