我正在尝试在我的SLIM PHP应用程序中使用路由。我需要在与index.php相同的目录中创建一个.htaccess文件,如下所示:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
所以我在/var/www/html/example.co/public_html/API中有我的index.php,同样在同一文件夹中的是上面提到的.htaccess文件。
我在example.co.conf中配置了我的虚拟主机,如下所示:
<VirtualHost *:80>
# Admin email, Server Name (domain name), and any aliases
ServerAdmin webmaster@example.co
ServerName www.example.co
ServerAlias example.co
# Index file and Document Root (where the public files are located)
DirectoryIndex index.html index.php
DocumentRoot /var/www/html/example.co/public_html
# Log file locations
LogLevel warn
ErrorLog /var/www/html/example.co/logs/error.log
CustomLog /var/www/html/example.co/logs/access.log combined
<Directory "/var/www/html/example.co/public_html">
AllowOverride All
</Directory>
</VirtualHost>
现在,如果我尝试访问我的PHP应用程序中的任何路由,即使是在我收到错误消息之前有效的路由:
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
我知道这是一个问题,因为我的.htaccess文件,因为如果我删除它,根链接将起作用,即www.example.co/API/。我在这些文件中做错了什么?我正在把头发撕掉。我已经google了一下,在.htaccess文件中尝试了不同组合的多种组合,但没有任何运气。如果有人能指出我正确的方向,我会非常感激它。谢谢!
(在Linode上运行LAMP服务器)