Я размещаю несколько доменов на одном сервере Apache и хочу настроить их все так, чтобы / home был уникальным для каждого домена. (предположим, у меня есть 3 домена example.com example1.com и example2.com) Моя файловая структура настроена следующим образом ...
/www/htdocs/domain/example
/www/htdocs/domain/example1
/www/htdocs/domain/example2
http://example.com/home/ ==> .../domain/example/
http://example1.com/home/ ==> .../domain/example1/
http://example2.com/home/ ==> .../domain/example2/
Итак, у меня есть правило htaccess, подобное этому
RewriteCond %{HTTP_HOST} ^(.+)\.(.+)$ [NC]
RewriteRule ^home/(.*)$ /domain/%1/$1 [L]
Это отлично работает. Но я хочу расширить его, чтобы включить www.example.com, поэтому я добавляю это правило.
RewriteCond %{HTTP_HOST} ^(.+)\.(.+)\.(.+)$ [NC]
RewriteRule ^home/(.*)$ /domain/%2/$1 [L]
Это прекрасно работает, и, как правило, я собирал свой файл .htaccess. Это становится довольно неприятным, и мне нужно переосмыслить свой подход. Поэтому я пытаюсь объединить два вышеуказанных правила в один блок. Вот что у меня есть, но оно не работает ...
RewriteCond ^home/
RewriteCond %{HTTP_HOST} ^(.+)\.(.+)$ [OR]
RewriteCond %{HTTP_HOST} ^.+\.(.+)\.(.+)$ [OR]
RewriteRule ^home/(.*)$ /domain/%2/$1 [L]
Дополнительно и отдельно я хотел бы, чтобы правило, которое приводило бы к следующему URL, возвращало ошибку 404.
http://example1.com/domain/example/logo.jpg