Мне нужна помощь, чтобы понять, как связать файлы CSS и JavaScript при использовании поддоменов для моего сайта.
У нас есть CMS, которая позволяет пользователям иметь свой собственный поддомен (например, user1.mydomain.com). Мы хотим, чтобы пользователь перенаправлялся на страницу «site_index.php» и передавал поддомен в качестве параметра строки запроса при вводе своего поддомена, поэтому у нас есть следующее правило mod_rewrite в нашей конфигурации apache.
Вот это mod_rewrite внутри файла apache httpd.conf:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
####RewriteBase /
RewriteCond %{HTTP_HOST} !www.mydomain.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).mydomain.com [NC]
RewriteRule ^(.*)$ /administrator/sites_index.php?subdomain=%2 [L]
</IfModule>
На странице "sites_index.php" мы затем берем субдомен, проверяем его и представляем HTML для этого конкретного субдомена. Каждый пользователь может иметь свой собственный шаблон CSS. Проблема, с которой я столкнулся, связана с использованием относительного пути к файлам .css и .js.
Вот как я хочу на них ссылаться:
<link href="public_site_templates/css_templates/common.css" type="text/css" rel="stylesheet">
<script src="public_site_templates/javascript/common.js" type="text/javascript"></script>
Что происходит с вышеуказанной ссылкой, так это загрузка HTML, но css и javascript никогда не связываются.
Если я жестко закодирую путь следующим образом:
<link href="http://www.mydomain.com/administrator/public_site_templates/css_templates/common.css" type="text/css" rel="stylesheet">
<script src="http://www.mydomain.com/administrator/public_site_templates/javascript/common.js" type="text/javascript"></script>
тогда все связывается правильно. Я проверил «относительный путь», и все должно соединиться, но это не так.
Есть ли что-то, что я могу сделать, чтобы это исправить? Есть ли лучший способ, которым я должен делать это? Любая помощь будет оценена.
Спасибо