我刚刚在我的网站上安装了SSL证书,但是此后,我的应用程序上的刷新功能被破坏并始终返回 404错误:未找到 我更改了 .htaccess 文件,但始终遇到相同的问题。
这是我的 .htaccess 文件,然后将我的网站升级到HTTPS(正在运行)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) index.html [NC,L]
</IfModule>
<FilesMatch "\.(html|htm|js|json|css)$">
<IfModule mod_headers.c>
FileETag None
Header unset ETag
Header unset Pragma
Header unset Cache-Control
Header unset Last-Modified
Header set Pragma "no-cache"
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Expires "Mon, 10 Apr 1972 00:00:00 GMT"
</IfModule>
</FilesMatch>
ErrorDocument 404 /dist/
升级到HTTPS后,我将其更改为此(不起作用)
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# If an existing asset or directory is requested go to it as it is
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]
# If the requested resource doesn't exist, use index.html
RewriteRule ^ /index.html
<FilesMatch "\.(html|htm|js|json|css)$">
<IfModule mod_headers.c>
FileETag None
Header unset ETag
Header unset Pragma
Header unset Cache-Control
Header unset Last-Modified
Header set Pragma "no-cache"
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Expires "Mon, 10 Apr 1972 00:00:00 GMT"
</IfModule>
</FilesMatch>
ErrorDocument 404 /dist/
非常感谢您的帮助
答案 0 :(得分:0)
我不好,这是apache配置文件上的问题。
当我使用HTTP协议时, virtualHost:80 包含选项AllowOverride All
但是在 virtualHost:443 中,它不包含此选项,因此,在将其添加到此virtualHost后,它与 .htaccess 文件的第一个版本(看到我的问题)。
我把它放在这里是给同样问题的人的。