【问题标题】:Ubuntu 14.04 can't find filesUbuntu 14.04 找不到文件
【发布时间】: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


【解决方案1】:

我通过在此处编辑默认配置文件使其工作:

/etc/apache2/sites-available/000-default.conf

我将其添加到默认配置中:

<Directory /var/www>
    Options Indexes FollowSymLinks
    AllowOverride All   
    Require all granted
</Directory>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-14
    • 2019-11-25
    • 2017-03-23
    • 1970-01-01
    • 2016-01-31
    • 1970-01-01
    • 1970-01-01
    • 2016-07-17
    相关资源
    最近更新 更多