来自部分URL的readfile或类似的东西

时间:2014-02-04 19:36:12

标签: php

首先,我基本上知道零php,我通常做jsp,但我必须修改我们拥有的wordpress网站的页脚。

该网站目前在www.mysite.com/wordpress上托管,其中包含以下内容:

<?php readfile('http://www.mysite.com/css-imports.jsp'); ?>

因为我在开发时这样做,所以我不得不将其更改为:

<?php readfile('http://local.mysite.com/css-imports.jsp'); ?>

当我这样做时,wordpress url是local.mysite.com/wordpress。

我如何从php插入local.mysite.com或www.mysite.com,根据提供该页面的域名?

感谢。

4 个答案:

答案 0 :(得分:1)

你需要一个基本的URL变量(我确定Wordpress会有一个,大多数框架都有)。 Have a look at this answer here.

在与您的服务器相关的域名中对域进行硬编码并不是一个好主意,因为只要您移动代码 - 就会破碎。所以要使用他们的例子,你会做这样的事情:

<?php readfile(get_bloginfo('wpurl') . '/css-imports.jsp'); ?>

可能需要一些玩游戏,看看Wordpress Dev Docs并找到适合你的东西,如果不是这样:

答案 1 :(得分:0)

您可以设置一个简单的配置文件,该文件在本地服务器和生产服务器之间会有所不同。您需要做的就是确保在将新代码推送到服务器时不包含本地副本。

serverconfig.php的本地副本:

<?php
define('SITE_HOSTNAME','http://local.mysite.com/');
?>

serverconfig.php的非现场副本:

<?php
define('SITE_HOSTNAME','http://www.mysite.com/');
?>

其他所有内容只需要包含配置文件并引用其中定义的常量。

<?php
require_once 'serverconfig.php';
... code ...
readfile(SITE_HOSTNAME. 'css-imports.jsp'); 
?>

注意:如果您只是阅读位于同一个网络服务器上的静态文件,则应该只引用本地文件readfile('/css-imports.jsp');

答案 2 :(得分:0)

我通常最终会修改我的主机文件。我在本地使用太多不同的客户系统(包括WordPress和Drupal),看起来我看到的每个系统都有模板/主题/插件,它们没有引用框架的基本url变量,或者使用硬编码的绝对路径,或者使用与我的服务器不相符的相对路径,或只是

当您完成开发并需要将其加载到生产环境中时,只需注释掉hosts条目即可。

/etc/hosts

# map mysite.com to local host for dev reasons.
www.mysite.com 127.0.0.1

答案 3 :(得分:0)

我认为这会为我做尝试

  $_SERVER[HTTP_HOST]