在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
留言列表