PHP url函数和子域

Nae*_*hab 5 php subdomain

我有一个网站thenoblesite.com.它有一些子域即

download.thenoblesite.com
wallpaper.thenoblesite.com
等.

子域的页面存在于主htdocs文件夹中,即

httpdocs/download < - download.thenoblesite.com
httpdocs/wallpaper < - wallpaper.thenoblesite.com

问题是我$_SERVER['DOCUMENT_ROOT'] . '/css';用于css文件夹和其他常见文件夹(图形,包含,脚本等).但是在子域页面中download.thenoblesite.com,$_SERVER['DOCUMENT_ROOT']将引用download.thenoblesite.com根文件夹,而不是thenoblesite.com存在css,graphics和includes文件夹的主根文件夹.

我必须在所有子域上单独放置相同的图形,css和包含文件夹.每次我更新网站时,我都必须将公共文件夹复制到所有子域文件夹.

另一个相关问题是我必须使用绝对链接用于大型下载文件夹,例如我必须使用的VLC媒体播放器,thenoblesite.com/download/vlc.exe或者我还必须复制所有子域文件夹中的大尺寸下载文件夹.这种方法不必要地增加了网站的大小,在我更新网站时产生了混乱,并且看起来不是很好的编程习惯.是否有任何可能的PHP解决方案,以便我可以使用相同的CSS,图像,下载和包含所有子域的文件夹....

Aho*_*tbi 7

我不确定这是否是您可能感兴趣的内容,但您可以随时创建一个新的子域并将其称为样式.[域]并在配置文件中创建一个新变量并指向它.通过这种方式,您可以将所有图像和css文件等存储在一个地方,如果您的流量达到峰值,您可以随时将该子域移动到CDN等,这样它就可以自定义.

UPDATE

好的,你可以在配置文件中使用一个新的变量,如下所示:

$_config['http'] = 'http://www.yousite.com/';
Run Code Online (Sandbox Code Playgroud)

现在您可以使用此变量指向主站点上的所有下载等,而不是每个指向子域的文件夹.如果你想要更灵活,你还可以添加一些css或js文件夹,如:

$_config['http'] = 'http://www.yousite.com/';
$_config['css'] = $_config['http']."css";
$_config['js'] = $_config['http']."js";
Run Code Online (Sandbox Code Playgroud)

如果您决定移动文件或只是移动某个文件夹等,上面的解决方案也会对您有所帮助.如果您可以采用它,这是一个很好的做法.

  • 实际上,这是一个非常好的解决方案 - 它绝对是普遍接受的解决方案,因为它也意味着你不必加载两次图像(缓存). (3认同)
  • 我认为你没有理解我的观点,因为我的问题不明确.我会澄清我的问题. (2认同)
  • 非常感谢您的回复.你的答案与我的问题有某种关系,在我的问题解决后一定会帮助我.我试图澄清我的问题. (2认同)
  • @capricorn说实话,这个解决方案将解决你所有的问题,如果你自己编写脚本,你应该总是使用一个变量来指向你的文件等.我已经更新了我的答案,以便将来当你想编写脚本时帮助你,但我想现在改变你当前的剧本还为时已晚. (2认同)