使用.htaccess

时间:2018-04-05 00:32:23

标签: php apache .htaccess mod-rewrite model-view-controller

我在stackoverflow和其他网站上尝试过很多o教程,搜索和研究,但我仍然无法解决这个问题。 就是这样。 这是我的文件夹结构和.htaccess和index.php文件:

file structure | .htaccess | index.php

当我尝试访问php内置服务器(sudo php -S localhost:800)时,我得到了这个:

Php built-in server

使用apache2时,我得到如下文件夹结构:

Apache Server

我还尝试将DirectoryIndex更改为public / index.php,但是在输入查询字符串时(SEO友好的斜杠而不是ex.:?a=2)我收到错误,服务器说例如:

在此服务器上找不到请求的资源/ mvc-oop / home / id / 2.

1 个答案:

答案 0 :(得分:0)

您使用的服务器似乎未配置为指向包含index.php条目文件的正确目录。

首先,Apache Web服务器将.htaccess文件用作配置文件。所有Web服务器软件都不理解或读取此配置文件。换句话说:.htaccess可以与Apache一起使用,但不能使用你的php服务器。

在.htaccess文件中修改最后一行,使其包含以./开头的有效相对路径

ReWriteRule ^ ./public/index.php?q=$1 [QSA,L]

./ public 转换为:"从当前目录开始,进入名为public ..."

的子文件夹