我刚刚在我的网站上安装了一个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/谢谢你提前提供帮助
发布于 2018-12-27 10:12:38
糟糕的是,这是apache配置文件上的一个问题。
当我使用HTTP协议时,virtualHost:80包含选项AllowOverride All,但在virtualHost:443中不包含此选项,因此在将其添加到该virtualHost之后,它可以很好地处理.htaccess文件的第一个版本(请参阅我的问题)。
我把这个放在这里是为了那些有同样问题的人。
https://stackoverflow.com/questions/53941733
复制相似问题