HTTPS网站的Angular 6 htaccess配置

时间:2018-12-27 08:08:44

标签: angular apache .htaccess https

我刚刚在我的网站上安装了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/

非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我不好,这是apache配置文件上的问题。

当我使用HTTP协议时, virtualHost:80 包含选项AllowOverride All 但是在 virtualHost:443 中,它不包含此选项,因此,在将其添加到此virtualHost后,它与 .htaccess 文件的第一个版本(看到我的问题)。

我把它放在这里是给同样问题的人的。