在CI 推出新版後,想躍躍欲試,。大致上架構有參考到Laravel (不少地方

不過這次的新版多了一個public資料夾,而且index.php 不在根目錄!!!

http://localhost.ci4/public/index.php/home  →    http://localhost.ci4/home

看了不少篇教學都是教我們要多建.htaccess,或是把.htaccess, index.php,移到根目錄。找了大概快20篇文章,結論都差不多

索性依過去設定laravel, CI的作法,終於測出來,都不用建立額外檔案下的作法。

大概會動到3個檔案

1. app/Config/App.php

public $indexPage = 'index.php';  →  public $indexPage = '';

2. public/.htaccess

<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

3. apache mod_rewrite 要開

4. apache 目錄設定

httpd-vhosts.conf 虛擬目錄,或 httpd.conf 主目錄 看你是設定在哪

以虛擬目錄為例:

<VirtualHost *:80>

    # 屬性需要和DocumentRoot一致
    <Directory "project_local/public">
        Options Indexes FollowSymLinks
        Require all granted
        AllowOverride All
    </Directory>

    DocumentRoot "project_local/public"
    ServerName localhost.ci4
    ErrorLog "logs/localhost.ci4-error.log"
    CustomLog "logs/localhost.ci4-access.log" common
</VirtualHost>

紅色字是重點

project_local 是你的專案目錄,

後面在加public,因為index.php在裡面 ( 廢話

Directory, DocumentRoot 缺一不可

設定好後重啟Apache,開啟http://localhost.ci4,記得設定host,別傻傻直接點連結

迎向光明曙光,歡樂coding time

 

arrow
arrow
    文章標籤
    codeigniter apachevirtualhost
    全站熱搜
    創作者介紹
    創作者 jack4689 的頭像
    jack4689

    蔡阿志的部落格

    jack4689 發表在 痞客邦 留言(0) 人氣()