2013-11-11 4 views
1

У меня есть две папки на FTP-корне. site_v1 и site_v2. site_v2 имеет новую версию сайта, а site_v1 имеет более старую версию. Я хотел указать свой домен на site_v2, последнюю версию. Поэтому я сделал .htaccess для root.htaccess - домен домена и дополнительный домен в папку

RewriteCond %{HTTP_HOST} example.com 
RewriteCond %{REQUEST_URI} !site_v2/ 
RewriteRule ^(.*)$ site_v2/$1 [L] 

Это хорошо работает. Когда я открываю http://example.com; site_v2 загружается без проблем.

Затем, для site_v1, я создал дополнительный домен http://old.example.com и указал его на папку site_v1; Я получаю эту ошибку, когда я запускаю http://old.example.com.

The requested URL /site_v1/site_v2/site_v1/index.html 
was not found on this server. 

Я не знаю. Кажется, что http://old.example.com все еще указывает на site_v2 из-за .htaccess на root. Что может быть решением, чтобы я мог заставить old.example.com загружать в site_v1?

ответ

2

Попробуйте изменить правила:

RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/site_v[0-9]/ 
RewriteRule ^(.*)$ /site_v2/$1 [L] 

RewriteCond %{HTTP_HOST} ^old\.example\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/site_v[0-9]/ 
RewriteRule ^(.*)$ /site_v1/$1 [L] 

Таким образом, соответствующий хост против `% {} HTTP_HOST вар не будут пересекаться.

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