我一直在寻找一种在多个域中使用尤尔斯的方法,主要问题是在配置Yourls时,您需要在config.php文件中提供域名(YOURLS_SITE常量)。使用指向Yourls的实际多个域配置一个域会导致意外行为。
我四处张望,找不到一个快速的黑客
发布于 2014-10-16 00:30:33
我找到了这个快速和肮脏的解决方案,并认为它可能对某人有用。
在config.php文件中,我将常量定义更改为基于$_ server‘’HTTP_HOST‘的值,因为在设置此头的服务器之前有一个代理,您也可以在您的Apache服务器上定义虚拟主机,并且它应该使用相同的方式(可能您需要使用$_ server 'SERVER_NAME’)。
因此,在config.php中,我改变了:
define( 'YOURLS_SITE', 'http://domain1.com');至
if (strpos($_SERVER['HTTP_HOST'],'domain2.com') !== false) {
define( 'YOURLS_SITE', 'http://domain2.com/YourlsDir');
/* domain2 doesn't use HTTPS */
$_SERVER['HTTPS']='off';
} else {
define( 'YOURLS_SITE', 'https://domain1/YourlsDir');
/* domain1 always uses HTTPS */
$_SERVER['HTTPS']='on';
}Note1:如果Yourls位于html根目录中,您可以从URL Note2中删除/YourlsDir : YOURLS_SITE中的url不能以/结尾
希望这能帮助到其他人
发布于 2015-03-27 23:43:18
我会用这句话在config.php..。
define('YOURLS_SITE', 'http://' . $_SERVER['HTTP_HOST'] . '');(如果适用,请注意添加任何/subdirectory或其他任何内容)
然后,只要您的apache主机配置是正确的,指向此目录的任何域或子域都可以工作。不过,请记住,任何重定向都将适用于任何域,因此domain.one/重定向==域。
https://stackoverflow.com/questions/26394367
复制相似问题