找不到LAMP 404页面


0

我正在尝试访问index.php页面上的项目,该项目正在本地主机上使用Slim框架。但是,我得到404页面未找到。

  • 我创建了一个/home/user/public_html从的符号链接/var/www/html
  • 我允许所有权限与chmod 777public_html
  • 我的项目位于 /home/user/public_html
  • 这是我的.htaccess文件:

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [QSA,L]
    
  • 我可以访问包含的php文件phpinfo()。它位于/public_html

  • mod_rewrite 已启用。

我没有使用VirtualHost。这可能是问题吗?

找不到404页面错误


您网站的根文件夹设置是否正确?
George Udosen '17

我想...我怎么知道呢?^^
Nicolas Lamblin

通常,这是通过使用网站的虚拟主机文件来完成的!不要使用命名框架,但我会查找它!
乔治·乌德森

因此,我将尝试使用VirtualHost。如果我解决了问题,我还是会回来...
Nicolas Lamblin

1
我通过创建文件夹和文件进行了一些测试,这是可行的。我认为这是项目配置错误。也许.htaccess ...?
Nicolas Lamblin

Answers:


0

.htaccess文件更改为:

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

允许符号链接起作用

除了上述设置外,我还看到您M1-CSI在中的public_html链接中还有一个名为的文件夹/var/www/htnl。现在注意apache使用/var/www/html,因此作为根文件夹无论你index.php是在/var/www/html为您的项目位于一个文件夹中/var/www/html/project_folder

因此,建立slim项目/home/user/public_htmlpublic_htmlrootslim。您的符号链接应该是... sudo ln -s /home/user/public_html /var/www/html/,文件夹/public_html为根。要使用它,M1-CSI您将需要使用一个Virtualhost文件,并且当然会将您的require vendor/autoload.php行居中require ../vendor/autoload.php

另一个需要注意的事实是,您root现在所拥有的所有权并不是我想要的,www-data用户应该负责这些文件。将自己添加到该组:

sudo usermod -a -G www-data $USER

然后将该文件的所有权更改为:

sudo chown -R $USER.www-data /var/www/html/public_html
sudo chmod -R 755 /var/www/html/public_html

注意:需要重启才能使新组生效。

我如何slim使用此链接设置项目:

  1. 创建了一个/var/www/html名为的文件夹askubuntu

  2. cd /var/www/html/askubuntu

  3. composer require slim/slim "^3.0"

  4. 然后在index.php文件askubuntu夹中用以下几行创建一个文件:

    <?php
    
    require 'vendor/autoload.php';
    
    echo "Hello World slim framework!";
    ?>
    
  5. 打开我的浏览器,然后输入:localhost/askubuntu,它将输出预期的输出。


我尝试过,但没有解决问题。谢谢您的时间!您是否遵循了Slim设置教程?
Nicolas Lamblin's

是的,我可以运行它,并且可以从它访问它localhost/askubuntu
George Udosen

请运行ls -l /var/www/html/public_html,让我看看所有权!
George Udosen '17

lrwxrwxrwx 1根root 11月25日。13 11:55 / var / www / html / public_html-> / home / nicolas / public_html
Nicolas Lamblin

请在浏览器中使用此添加localhost/public_html,然后我看到M1-CSI应该是什么?您index.php应该/var/www/html/public_html不在M1-CSI
George Udosen
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.