.htaccess 404页面未找到

cbwuti44  于 2022-11-16  发布在  其他
关注(0)|答案(2)|浏览(114)

Flutter Web在部署到服务器404后会出现我知道Flutter是单页应用程序,所以我们配置了.htaccess文件

RewriteEngine on
RewriteCond %{REQUEST_FILENAME}% !-d
RewriteCond %{REQUEST_FILENAME}% !-f
RewriteRule . /index.html [L]

但我在应用程序中使用一个静态html文件渲染,所以这个方法不起作用,我也尝试了404. html。没有用,请帮助我

roqulrg3

roqulrg31#

RewriteCond %{REQUEST_FILENAME}% !-d
RewriteCond %{REQUEST_FILENAME}% !-f

您在 TestString 参数的末尾有一个错误的文字%,因此这些 * 求反 * 条件将始终成功,包括将请求重写为/index.html时。
这些条件应写成:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

但是请注意,为了正确地重写对文档根的请求,您需要确保正确地设置了DirectoryIndex

DirectoryIndex index.html
piwo6bdm

piwo6bdm2#

我在一个Windows服务器IIS上发布了我的flutter网页版本,在重新加载时出现了错误。对于重新加载flutter页面时出现的404错误,我在publish的根目录下index.html旁边添加了一个web.config文件,并在里面添加了这段代码。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
      <rewrite>
        <rules> 
          <rule name="Main Rule" stopProcessing="true">
            <match url=".*" />
            <conditions logicalGrouping="MatchAll">
              <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
              <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            </conditions>
            <action type="Rewrite" url="/" />
          </rule>
        </rules>
      </rewrite>
    </system.webServer>
</configuration>

相关问题