【发布时间】:2017-07-11 11:59:54
【问题描述】:
我有一个网站。我们称之为mysite.com。不久前,我决定在子域上需要它的开发版本。我在我的 VPS 提供商端设置了所有内容,将所有内容复制到一个名为 devversion.mysite.com 的新目录中。如果更改此文件夹中的 php 文件,更改将仅出现在 devversion.mysite.com 上。一切似乎都正常,直到我决定更改 CSS。
如果我尝试在浏览器中打开 devversion.mysite.com/internals/css/main.css,它总是显示 mysite.com/internals/css/main.css 而没有重定向。如果我在浏览器中打开devversion.mysite.com/internals/css/,它会正确列出所有内容,main.css size = 0Kb(它是空的,所以它是正确的)。如果我从 dev 文件夹中删除 main.css,它无论如何都会从生产中打开。
应该提到我使用 Codeigniter 2 并且有 .htaccess 文件看起来像这样:
AddDefaultCharset UTF-8
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|uploads|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
如何让 dev 上的这个 css 文件正确打开?
【问题讨论】:
-
你在哪里生成你的链接你的css文件你不是指向旧网站吗?我的意思是这样的,你将 base_url 保存为 mysite.com,当你想要链接到 css 文件时,写这样的东西 $base_url.'/internal.../main.css'
-
在 html 文件中,我将它们链接为
<link href="/internals/css/main.css" rel="stylesheet" type="text/css" />并且不使用$base_url生成指向 main.css 的链接。不过就算做了,在浏览器地址栏用全路径也不会打错吧? -
看到你的回答我想给你一点提示:please read this。您
.htaccess不会为您的提供商nginx基于服务器做任何事情。.htaccess是 Apache 服务器,不是 nginx。 -
@Nukeface 谢谢。不太喜欢服务器端的东西。需要阅读更多相关信息。