首先請確保你的vhost配置正確,因為這篇文章不是解決vhost配置的問題的
我的vhost 大致如下:
找到專案根目錄下的 public 目錄找到.htaccess檔案開啟,找到下邊這句
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
問題就出在這兒。修改為以下(仔細看一遍,是有區別的哦)
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
記得重啟apache
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# 重定向 pc 的資源目錄路徑
RewriteCond %{HTTP_HOST} ^www\.666test\.com$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ pc/$1
# 重定向 pc 的入口檔案
RewriteCond %{HTTP_HOST} ^www\.6666test\.com$
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ pc.php [L]
# 重定向 pc 帶引數的處理
RewriteCond %{HTTP_HOST} ^www\.6666test\.com$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ pc.php?/$1 [L]
# 重定向 mobile 的資源目錄路徑
RewriteCond %{HTTP_HOST} ^m\.6666test\.com$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ m/$1
# 重定向 mobile 的入口檔案
RewriteCond %{HTTP_HOST} ^m\.6666test\.com$
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ mobile.php [L]
# 重定向 mobile 帶引數的處理
RewriteCond %{HTTP_HOST} ^m\.6666test\.com$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ mobile.php?/$1
</IfModule>
請同樣加上一個 ?