使用 .htaccess 总是重定向到 index.php 时出现 500 内部服务器错误
500 Internal Server Error when using .htaccess to always redirect to index.php
我目前正在构建自己的 PHP-Framework 以获得一些经验,并且正在遵循 this 指南。
但是我在实施 .htaccess 文件时遇到了一些麻烦。当我打开我的网站时,它显示 500 内部服务器错误。
我的文件夹结构如下:
ProjectName/
|- src/
| |- Controller/
| |- Model/
| |- View/
| | .htaccess
| | Dispatcher.php
| | Request.php
| | Router.php
| | index.php
| .htaccess
| Dockerfile
| docker-compose.yml
两个 .htaccess 文件如下所示:
ProjectName/src/.htaccess:
RewriteEngine on
RewriteCond %{REQUEST_URI} !\.(?:css|js|jpe?g|gif|png)$ [NC]
RewriteRule ^([a-zA-Z0-9\-\_\/]*)$ index.php?p=
项目名称/.htaccess:
RewriteEngine on
RewriteRule ^([a-zA-Z0-9\-\_\/]*)$ src/
最让我困惑的是:如果我没有实施我的 .htaccess 文件并打开我的网站,那么它会打开 index.php.
我的 docker-图像是 php:7.2-apache
的,似乎 mod-rewrite
没有启用。因此,在 运行 命令 a2enmod rewrite
我的网站再次运行后。
我目前正在构建自己的 PHP-Framework 以获得一些经验,并且正在遵循 this 指南。
但是我在实施 .htaccess 文件时遇到了一些麻烦。当我打开我的网站时,它显示 500 内部服务器错误。
我的文件夹结构如下:
ProjectName/
|- src/
| |- Controller/
| |- Model/
| |- View/
| | .htaccess
| | Dispatcher.php
| | Request.php
| | Router.php
| | index.php
| .htaccess
| Dockerfile
| docker-compose.yml
两个 .htaccess 文件如下所示:
ProjectName/src/.htaccess:
RewriteEngine on
RewriteCond %{REQUEST_URI} !\.(?:css|js|jpe?g|gif|png)$ [NC]
RewriteRule ^([a-zA-Z0-9\-\_\/]*)$ index.php?p=
项目名称/.htaccess:
RewriteEngine on
RewriteRule ^([a-zA-Z0-9\-\_\/]*)$ src/
最让我困惑的是:如果我没有实施我的 .htaccess 文件并打开我的网站,那么它会打开 index.php.
我的 docker-图像是 php:7.2-apache
的,似乎 mod-rewrite
没有启用。因此,在 运行 命令 a2enmod rewrite
我的网站再次运行后。