我在stackoverflow和其他网站上尝试过很多o教程,搜索和研究,但我仍然无法解决这个问题。 就是这样。 这是我的文件夹结构和.htaccess和index.php文件:
file structure | .htaccess | index.php
当我尝试访问php内置服务器(sudo php -S localhost:800)时,我得到了这个:
使用apache2时,我得到如下文件夹结构:
我还尝试将DirectoryIndex更改为public / index.php,但是在输入查询字符串时(SEO友好的斜杠而不是ex.:?a=2)我收到错误,服务器说例如:
在此服务器上找不到请求的资源/ mvc-oop / home / id / 2.
答案 0 :(得分:0)
您使用的服务器似乎未配置为指向包含index.php条目文件的正确目录。
首先,Apache Web服务器将.htaccess文件用作配置文件。所有Web服务器软件都不理解或读取此配置文件。换句话说:.htaccess可以与Apache一起使用,但不能使用你的php服务器。
在.htaccess文件中修改最后一行,使其包含以./
开头的有效相对路径
ReWriteRule ^ ./public/index.php?q=$1 [QSA,L]
./ public 转换为:"从当前目录开始,进入名为public ..."
的子文件夹