【发布时间】:2011-12-07 21:12:25
【问题描述】:
在为我的网站使用子域时,我需要一些帮助来弄清楚如何链接 css 和 javascript 文件。
我们有一个 CMS,它允许用户拥有自己的子域(例如 user1.mydomain.com)。我们希望用户被引导到“site_index.php”页面,并在他们输入子域时将子域作为查询字符串参数传递,这就是为什么我们在 apache 配置中有以下 mod_rewrite 规则的原因。
这是 apache httpd.conf 文件中的 mod_rewrite:
<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>
然后一切都正确连接。我检查了“相对路径”,一切都应该链接起来,但它没有。
我可以做些什么来解决这个问题吗?我应该这样做有更好的方法吗?任何帮助将不胜感激。
谢谢
【问题讨论】:
标签: apache mod-rewrite