Flutter Web在部署到服务器404后会出现我知道Flutter是单页应用程序,所以我们配置了.htaccess文件
RewriteEngine on RewriteCond %{REQUEST_FILENAME}% !-d RewriteCond %{REQUEST_FILENAME}% !-f RewriteRule . /index.html [L]
但我在应用程序中使用一个静态html文件渲染,所以这个方法不起作用,我也尝试了404. html。没有用,请帮助我
roqulrg31#
RewriteCond %{REQUEST_FILENAME}% !-d RewriteCond %{REQUEST_FILENAME}% !-f
您在 TestString 参数的末尾有一个错误的文字%,因此这些 * 求反 * 条件将始终成功,包括将请求重写为/index.html时。这些条件应写成:
%
/index.html
RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f
但是请注意,为了正确地重写对文档根的请求,您需要确保正确地设置了DirectoryIndex。
DirectoryIndex
DirectoryIndex index.html
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>
2条答案
按热度按时间roqulrg31#
您在 TestString 参数的末尾有一个错误的文字
%
,因此这些 * 求反 * 条件将始终成功,包括将请求重写为/index.html
时。这些条件应写成:
但是请注意,为了正确地重写对文档根的请求,您需要确保正确地设置了
DirectoryIndex
。piwo6bdm2#
我在一个Windows服务器IIS上发布了我的flutter网页版本,在重新加载时出现了错误。对于重新加载flutter页面时出现的404错误,我在publish的根目录下index.html旁边添加了一个web.config文件,并在里面添加了这段代码。