【发布时间】:2015-09-21 17:41:35
【问题描述】:
我正在使用 Codeigniter 3 并使用 Puphpet 设置一个虚拟机。我是使用 Ubuntu 14.04 和 Apache2。当我转到http://ip_address/ 时,我终于成功地能够访问我的默认控制器路由,但是当我尝试访问另一个页面时,它显示未找到。
我已将共享文件夹挂载到 /var/www。我还验证了我的所有文件都位于此处。
知道为什么默认控制器会加载,但说其他页面没有找到吗?
编辑:.htaccess 文件位于根文件夹 (/var/www) 这是 .htaccess 文件的内容:
# MAKE SURE TO LEAVE THE NEXT TWO LINES HERE.
# BEGIN DENY LIST --
# END DENY LIST --
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index.php|resources|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
AllowOveride All
我还对/etc/apache2/sites-available/10-default_vhost_80.conf和/etc/apache2/sites-available/25-av_fv5lzxiyh2xc.conf进行了更改
<Directory "/var/www">
Options Indexes FollowSymlinks MultiViews
AllowOverride All
Require all granted
<FilesMatch "\.php$">
Require all granted
SetHandler proxy:fcgi://127.0.0.1:9000
</FilesMatch>
</Directory>dexes FollowSymlinks MultiViews
更新:如果我输入像http://ip_address/index.php/login 这样的网址,如果我像http://ip_address/login 这样输入我的网址,则会找到该页面。
【问题讨论】:
-
你能访问在url中留下
index.php的其他页面吗? -
是的,如果我将 index.php 留在 url 中,我可以访问其他页面。
-
尝试添加像
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]这样的qsa问号 -
虽然我最近没有对apache中的FilesMatch进行一些设置,但是你们是否启用了所有模块,代理,fcgi等?
-
对不起,我对此有点陌生。如何检查?
标签: php codeigniter ubuntu