如何完美设置codeigniter项目的虚拟主机?

Suz*_*tha 4 php apache uri codeigniter

我正在尝试为 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>
Run Code Online (Sandbox Code Playgroud)

在 application/config/config.php 中,

$config['base_url'] = 'http://dev.facebook-login.com';
Run Code Online (Sandbox Code Playgroud)

$config['index_page'] = '';
Run Code Online (Sandbox Code Playgroud)

浏览器打开登陆页面。但是当从任何其他 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>
Run Code Online (Sandbox Code Playgroud)

它出现了资产问题,即图像和某些 css 无法加载。我该如何解决?

Mr.*_* ED 7

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

在基本 url 的末尾加上斜杠

$config['base_url'] = 'http://dev.facebook-login.com/';
Run Code Online (Sandbox Code Playgroud)

首先去

Windows > System32 > 驱动程序 > 等 > 主机

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

你可能会看到类似的东西

127.0.0.1       localhost 
Run Code Online (Sandbox Code Playgroud)

下面为 dev.facebook-login.com 创建另一个,例如:

127.0.0.1       localhost
127.0.0.1       dev.facebook-login.com
Run Code Online (Sandbox Code Playgroud)

保存

然后去

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> 
Run Code Online (Sandbox Code Playgroud)

保存并重新启动服务器。

我将它用于我的 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]
Run Code Online (Sandbox Code Playgroud)