【发布时间】:2020-12-14 18:32:43
【问题描述】:
我在 PHP 中创建了一个 MVC 系统,并使用 Apache Rewrite 模块来保护一些文件夹并编写 URL。
我在使用 Xampp 的开发机器上创建了基础,我什至在在线服务器(客户端)上使用了相同的系统,一切正常。
但我想在我工作的公司中设置的服务器上安装相同的 MVC 系统,供其他开发人员使用,但该服务器无法正常工作。
在出现此问题的服务器上,我安装了 Ubuntu 20.04(桌面)、Apache 2、PHP 7.4.13 和 MySQL。我已经启用了重写模块。
我使用的 .htaccess 与我在我的机器(Windows)和在线服务器(公共网络服务器)Linux 上使用的相同。
在我正在使用的 .htaccess 文件下方
我用来始终将客户端重定向到公用文件夹的第一个 .htaccess 文件
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
这一秒在公用文件夹中,用于编写 URL
<IfModule mod_rewrite.c>
Options -Multiviews
RewriteEngine On
RewriteBase /criate/public
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
</IfModule>
后者位于 App 文件夹内,我使用它们来无权访问该文件夹
Options -Indexes
我的 Apache default.conf 文件
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Order allow, deny
allow from all
Require all granted
</Directory>
但是发生了什么,当访问项目 url 时,我们假设它是:https://api.aplication.com
运行良好,带我到应用程序主页。但是,例如,当我单击登录按钮时。给我以下错误。
未找到 在此服务器上未找到请求 URL
但是有,因为我制作了一个可以在 Windows 和 Linux 在线服务器上运行的项目的副本。
我必须查看和分析什么配置才能解决此问题?
在 phpinfo 中它说明了哪个模块处于活动状态。谢谢
【问题讨论】: