我正在尝试使用LAMP中的apache配置运行一个php项目,但它不能工作*,而当我以php -S locahost:4000
运行它时,它的工作真的很棒。
如果您需要有关文件或其工作的一些信息Project
这是我的apache配置 -
<VirtualHost localhost:4000>
ServerAdmin root@localhost
ServerName localhost
ServerAlias localhost
DocumentRoot /var/www/html/dir
<Directory "/var/www/html/dir">
AllowOverride None
Options None
Require all granted
</Directory>
*不工作意味着 - 当通过apache运行时,我只能访问索引页面,当进入项目的其他页面时,如localhost:4000/about
它显示The requested URL /department was not found on this server.
即。错误404。
答案 0 :(得分:0)
我认为你期待&#34; index.php&#34;接收所有请求。 现在,Apache正试图找到&#34; about&#34;目录和&#34;部门&#34;目录。 为了让Apache在任何URL上运行index.php,我们需要使用Rewrite规则。
虽然我没有详细验证,但我想它可以使用以下规则。
RewriteEngine on
RewriteRule ^/(.*)$ /index.php
答案 1 :(得分:0)
现在可以在从apache启用a2enmod rewrite
并更新.htaccess
文件的内容后工作,如下所示
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?path=$1 [NC,L,QSA]