Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将codeigniter配置为仅在我的域下运行_Php_Apache_Codeigniter_Dns - Fatal编程技术网

Php 将codeigniter配置为仅在我的域下运行

Php 将codeigniter配置为仅在我的域下运行,php,apache,codeigniter,dns,Php,Apache,Codeigniter,Dns,我在linux服务器上有一个特定的ip地址和一个指向该ip的域。 我设置了一个codeigniter应用程序,过了一会儿我意识到至少有几个域(不是我的)也指向我的ip地址。 当域不是我自己的域时,我需要停止codeigniter为页面提供服务。 有没有干净的解决办法?也许是url库的问题?我想知道在这种情况下是否有最佳做法。但也许最佳实践需要在其他点停止其他域?类似于ApacheConfig或htaccess?实现这一点的最佳实践是使用虚拟主机。如果您以前从未使用过ApachevHosts,那么

我在linux服务器上有一个特定的ip地址和一个指向该ip的域。 我设置了一个codeigniter应用程序,过了一会儿我意识到至少有几个域(不是我的)也指向我的ip地址。 当域不是我自己的域时,我需要停止codeigniter为页面提供服务。
有没有干净的解决办法?也许是url库的问题?我想知道在这种情况下是否有最佳做法。但也许最佳实践需要在其他点停止其他域?类似于ApacheConfig或htaccess?实现这一点的最佳实践是使用虚拟主机。如果您以前从未使用过ApachevHosts,那么您最好在做任何我要说的事情之前阅读相关指南

顺便说一下,为了正确区分指向服务器的域,您应该做的是:

假设您的域是www.mydomain.com,您的站点位于/var/www/vhosts/myproject/

首先,转到apache2.conf文件并添加以下行:

Include sites-enabled/
您应该在apache配置上启用虚拟主机,然后在/etc/apache2/sites available下创建一个www.mydomain.com配置文件。应该是这样的:

# Ensure that Apache listens on port 80
Listen 80

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /var/www/vhosts/myproject
ServerName www.mydomain.com
</VirtualHost>
这将在启用该配置文件的站点中创建符号链接

然后重新启动服务

提示:我不知道codeigniter的具体行为。在www.mydomain.com文件中声明DocumentRoot时,必须指向包含项目index.php文件的目录。I:E.在FuelPHP中是public/目录,因此,如果您使用的是Fuel,您应该写:

DocumentRoot /var/www/vhosts/myproject/public/
因此,请特别检查您是否指向codeigniter前控制器

对指向服务器的其他域重复此操作,站点下的特定配置文件可用


希望这有帮助

将多个域指向一个IP是一种常见情况。您只需要确保您的apache配置已设置VirtualHost来处理您的域而不是其他域

如果您担心主机上有人正在将apache配置设置为指向您的CI目录,您可以尝试在index.php文件中执行类似操作:

<?php

if ($_SERVER['HTTP_HOST'] != 'YOUR DOMAIN')
{
   // redirect, die, etc
}

<?php

if ($_SERVER['HTTP_HOST'] != 'YOUR DOMAIN')
{
   // redirect, die, etc
}