0

我在我的 Ubuntu 机器上设置了 Apache 服务器。我最近更新了我的机器并从头开始重新安装了 Apache(尽管我备份了我的配置文件)。在我更新之前,我能够访问该文件/var/www/folder/example.htmlexample.com/folder/example但现在将其输入到我的服务器链接中,该链接指向/var/www/folder/example/index.html不存在的文件,因此出现 404 错误。如果我输入有效的直接路径(example.com/folder/example.html),但不是没有.html最后。有没有办法重新配置 Apache 使其像以前一样工作?

4

2 回答 2

0

您可能在获得“example.html”文件的同一目录中拥有一个文件夹“example”时遇到问题。您应该删除/重命名文件夹,或者您可以在 apache2.conf 或 .htaccess 文件中放置类似的内容。

RewriteEngine On
RewriteCond %{REQUEST_URI} ! \.html$
RewriteRule ^(.*)$ $1.html

编辑:你需要按照@julp 在他的评论中建议的那样做。使用 MultiViews 将允许具有不同的文件扩展名并仅调用文件基名。Ba 意识到在您的文件夹中拥有唯一的基本名称是明智的。此外,必须为每个文件夹设置 MultiView 设置。进一步看看谈判

http://httpd.apache.org/docs/2.2/content-negotiation.html#negotiation

于 2013-10-23T19:39:12.017 回答
0

.htaccess 文件应如下所示:

Options +FollowSymLinks -MultiViews
#
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php
RewriteRule ^ %1 [R=302,L]
#
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

如果您正在运行 Apache2 或类似引擎,请确保您允许在其 conf 文件中覆盖。

这是设置 conf 的好教程。

让我知道这是否对你有用。

于 2019-05-23T12:58:37.610 回答