“在此服务器上找不到请求的 URL。”在 Ubuntu 20.04.6 LTS 上运行 Contao 网站时?

“在此服务器上找不到请求的 URL。”在 Ubuntu 20.04.6 LTS 上运行 Contao 网站时?

我收到了一个使用 Contao 3.4.50 CMS 的网站,我的任务是慢慢将其升级到最新版本,但首先我需要让整个网站在我的本地主机上运行。

我在用:

  • Ubuntu 20.04.6 LTS
  • 阿帕奇
  • Php 5.6
  • MySQL 版本 5.7.42

我已经到了网站主页在 Firefox 的 localhost 上正确显示的地步。当我尝试切换到另一个页面时,问题就出现了。页面一改变,我就得到了以下信息:

Not Found

The requested URL was not found on this server.
Apache/2.4.41 (Ubuntu) Server at 127.0.0.1 Port 80

我检查了我的localconfig.php文件,连接到本地数据库的凭据是正确的。如果我更改其中任何一个,甚至主页都会停止显示,让我相信我已成功连接到我的数据库。

我还检查了我的.htaccess文件是否位于我的 Contao 网站的根文件夹中,并且确实如此。

下面是我的 Apache 错误日志中的一行示例:

"GET /izobrazevanje/izobrazevalni-dogodki.html HTTP/1.1" 404 488 "http://localhost/"

当我检查我的 MySQL 数据库时,我可以看到在 tl_page 表中确实有一行已izobrazevanje/izobrazevalni-dogodki设置为其别名。

website-archive.conf我的目录中的内容如下/etc/apache/sites-available/

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName website-archive
    ServerAlias www.website-archive
    DocumentRoot /var/www/website-archive/sic-22-06-2023/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

知道为什么其他页面没有显示吗?

答案1

有几种因素可能导致这一问题。

mod_rewrite被禁用

您可能需要mod_rewrite通过执行以下命令在服务器上启用:

sudo a2enmod rewrite
sudo service apache2 restart

AllowOverride指令缺失或错误

检查你的虚拟主机配置是否缺少AllowOverride指令。默认的 vhost 配置文件是/etc/apache2/sites-available/000-default.conf,但这可能会因您的设置而异。确保您有AllowOverride All安装 Contao CMS 的目录。它应该看起来像这样:

<Directory /var/www/html/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

.htaccess文件中有错误

如果您使用的是默认值,这种情况发生的可能性较小.htaccess。但是,如果您对其进行了一些更改,请确保它们是正确的。

答案2

关注后@soritov 建议并添加

<Directory /var/www/website-archive/sic-22-06.2023/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

对于我的website-archive.conf文件并检查我的 apache 错误日志,我需要安装两个模块并使用以下命令向我的 php.ini 文件添加两行:

sudo apt-get install php5.6-xml php5.6-mbstring

用于安装模块和

sudo nano /etc/php/5.6/apache2/php.ini

要访问我的php.ini文件,我在其中添加了以下几行:

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
extension=dom.so
extension=mbstring.so

相关内容