Субдомены .htaccess и общие файлы - PullRequest
3 голосов
/ 12 февраля 2010

У меня есть файловая структура, которая обслуживает несколько доменов с верхним уровнем .htaccess, отправляя запросы вниз в каталоги, специфичные для домена:

...

ReWriteCond %{REQUEST_URI} !webroot/domains/www.sitea.com/

ReWriteRule ^(.*)$ webroot/domains/www.sitea.com/$1 [L]

ReWriteCond %{REQUEST_URI} !webroot/domains/www.siteb.com/

ReWriteRule ^(.*)$ webroot/domains/www.siteb.com/$1 [L]

...

.htaccess на уровне домена (например, webroot / domains / www.siteb.com / .htaccess) затем применяет различные правила для управления URL-адресами страниц домена:

...

DirectoryIndex pageincludes/home.php

RewriteRule ^home$ pageincludes/home.php [L]

...

Итак, структура файла выглядит примерно так:

/webroot/domains/www.sitea.com/

/webroot/domains/www.siteb.com/

/webroot/js/script1.js

/webroot/images/image1.png

Моя проблема в том, что я хочу иметь возможность использовать общие ресурсы на обслуживаемых страницах, например ::11010*

<script type="text/javascript" src="/js/script1.js"></script> <img src="/images/image1.png" alt="80%"></img>

Эти ресурсы не найдены клиентом. Этот шаблон не является стартером или есть способ, как я могу заставить это работать?

Большое спасибо.

Ответы [ 3 ]

1 голос
/ 13 февраля 2010

Я бы просто добавил символические ссылки в файловую систему. Попытка переписать правила довольно сложна, и вашему серверу apache придется обрабатывать их снова и снова для каждой страницы. Не так для символической ссылки.

Ex:

ln / webroot / js /webroot/domains/www.sitea.com/js

0 голосов
/ 12 февраля 2010

Не могли бы вы добавить дополнительное условие для каждого домена, чтобы не переписывать запросы для этих общих ресурсов. например,

ReWriteCond %{REQUEST_URI} !^(js|images)

Или как насчет использования отдельного домена для общих ресурсов?

0 голосов
/ 12 февраля 2010

Теперь, как вы это структурировали, запросы переписываются, поэтому они не могут видеть файлы в каталогах js или images.

Я предполагаю, что вы хотите, чтобы общие ресурсы делали обновления проще, и это, безусловно, выполнимо (хотя вопрос о сбое сервера лучше). Если вы разместите псевдоним для каталогов в папках вашего домена (а apache настроен на использование псевдонимов), все будет в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...