php - 如何为codeigniter项目完美设置虚拟主机?

标签 php apache codeigniter uri

我正在尝试为 codeigniter 项目创建一个虚拟主机。我在 httpd-vhosts.conf 中做了这个:

    <VirtualHost *:80>
      DocumentRoot "C:\xampp\htdocs\CI_projects\facebook-login"
       ServerName dev.facebook-login.com
       <Directory "C:\xampp\htdocs\CI_projects\facebook-login">
     Require all granted
    </Directory>
    </VirtualHost>

在 application/config/config.php 中,

$config['base_url'] = 'http://dev.facebook-login.com';

$config['index_page'] = '';

浏览器打开着陆页。但是当从任何其他 uri 传输时,它说找不到对象。 当我像这样配置 httpd-vhosts.conf 时:

   <VirtualHost *:80>
      DocumentRoot "C:\xampp\htdocs\CI_projects\facebook-login\index.php"
       ServerName dev.facebook-login.com
       <Directory "C:\xampp\htdocs\CI_projects\facebook-login\index.php">
     Require all granted
    </Directory>
    </VirtualHost>

它会出现 Assets 问题,即图像和一些 css 不会加载。我该如何解决?

最佳答案

我在 Windows 10 上,我将 xampp 与虚拟主机一起使用,这是我设置的方式。

在基本 url 的末尾加上正斜杠

$config['base_url'] = 'http://dev.facebook-login.com/';

先去

Windows > System32 > drivers > etc > host

您可能需要以管理员身份打开才能保存

你可能会看到类似的东西

127.0.0.1       localhost 

Below that create another one for dev.facebook-login.com like example:

127.0.0.1       localhost
127.0.0.1       dev.facebook-login.com

保存

然后去

xampp > apache > conf > extra > httpd-vhosts.conf

以管理员身份打开它,以便您可以保存它。

不需要 DocumentRoot 上的 index.php

<VirtualHost *:80>
    ##ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "C:/xampp/htdocs/CI_projects/facebook-login"
    ServerName dev.facebook-login.com
    ##ServerAlias www.dummy-host.example.com
    ##ErrorLog "logs/dummy-host.example.com-error.log"
    ##CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost> 

Save it and restart the severs.

我将它用于我的 htaccess

Options +FollowSymLinks
Options -Indexes
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

关于php - 如何为codeigniter项目完美设置虚拟主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43343952/

相关文章:

php - 在 mail() 函数内指定端口

linux - Magento2 的 Ubuntu 网络服务器权限设置

apache - SSL 不会对以下域进行身份验证

php - 通过 PHP 剥离 HTML

class - 如何在 CodeIgniter 中创建库类的多个实例?

php - 如何将所有参数传递给我的回调函数?

PHP 不将变量传递给其他页面

c# - Web 服务 - C# 客户端和 Apache 服务器基本身份验证 - 错误 HTTP 400 错误请求

php - 更新数据库中的数据并上传照片不起作用

php - 如何在 Laravel 中为模型命名空间以免与现有类发生冲突?