【问题标题】:add .html to url but results 404 not found将 .html 添加到 url 但未找到结果 404
【发布时间】:2021-07-19 18:00:36
【问题描述】:

阅读 this 和 bababa,但遗憾的是他们都不能指导我如何调试。

我正在尝试重定向以下网址 https://example.com/hellohttps://example.com/hello.html

这就是我的做法

第一

vim /etc/apache2/apache2.conf,在<Directory /var/www/>中设置AllowOverride All

现在是

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

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

第二

sudo service apache2 restart

第三

public_html 及以下代码中创建.htaccess

<IfModule mod_rewrite.c>
  
Options FollowSymLinks

RewriteEngine On
RewriteCond %{REQUEST_URI} !^.*\.html$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ %{REQUEST_FILENAME}.html

</IfModule>

但仍然返回 404 not found ,如下所示。

配置 apache 有什么建议或我缺少的任何部分吗?谢谢


-----ANSWER------

错过了mod_rewrite 的配置。可以查看这个post

【问题讨论】:

    标签: apache .htaccess


    【解决方案1】:

    您在%{REQUEST_FILENAME} 的末尾添加.html,这将导致404,因为%{REQUEST_FILENAME} 代表完整的文件系统路径而不是URI 路径。

    你应该使用这条规则:

    RewriteEngine On
    
    RewriteCond %{REQUEST_URI} !\.html$ [NC]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . %{REQUEST_URI}.html [L]
    

    甚至更好:

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}.html -f
    RewriteRule ^(.+?)/?$ $1.html [L]
    

    【讨论】:

    • 嗨。我仍然收到 404 错误。请看我更新的帖子。我上传了 404 错误的截图。也许配置也是如此?
    • 验证您的.htaccess 是否已启用,方法是在您的.htaccess 顶部放置一些垃圾(随机)文本,并在您访问时查看它是否生成500(内部服务器)错误您在浏览器中的页面。 500 错误意味着 .htaccess 已启用。
    • 哦。即使我在 .htaccess 中放了一些垃圾文本,也没有显示 500 错误。这意味着 apache2.conf 有问题?请参阅帖子中的其他信息。猜猜apache中的用户帐户可能有问题
    • 并非如此。配置 Apache 后会注意到您并测试您的代码
    • 嗨。最后找出原因。这是因为我错过了mod_rewrite的配置
    猜你喜欢
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 2014-08-09
    • 2021-07-31
    • 1970-01-01
    • 2013-03-29
    • 1970-01-01
    • 2019-12-06
    相关资源
    最近更新 更多