无法使用漂亮的.htaccess URL部署PHP项目



直到昨天,我只部署了URL为https: //myproject/mapage.php的PHP项目。今天,我有一个项目,其中包括一个用于重写URL(无扩展名(的.htaccess文件。我的项目只包含3个主要元素:

  • 包含所有应用程序逻辑的文件夹/应用程序
  • a/public文件夹,其中包含图像、js、css[…]文件,最重要的是前端控制器(index.php(
  • 包含以下内容的.htaccess文件内容:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) public/index.php/$1 [L]

问题是,当我在本地服务器上时,该项目运行良好,但当我将其部署在服务器的子域http://dev.example.org上时,我会收到以下消息:

找不到文件

***我的服务器配置在非共享的Debian Stretch专用服务器上。我们在这上面使用了pleskobsidian18。通过搜索apache的参数,我能够意识到上面配置了虚拟主机

主域和子域在另一台服务器上配置,并指向我们的Debian Stretch Dédicated服务器的ip地址。

有人能帮我正确部署我的项目吗?

首先,我要确保在Apache web服务器中启用.htaccess。您需要打开站点的配置文件(例如/etc/apache2/sites-available/example.com.conf(,并确保站点的<Directory>字段包含行AllowOverride All

其次,您需要确保mod_rewrite已启用。您可以使用apachectl -M | sort列出已启用的模块
如果它被禁用,您可以通过运行a2enmod rewrite来启用它。

最新更新