【问题标题】:301 redirect all assets from http to https301 将所有资产从 http 重定向到 https
【发布时间】:2014-08-13 13:15:26
【问题描述】:

我已经搜索并尝试过,但在将我的 http 网站移动到完整的 https 时,我似乎无法找到有关如何 301 重定向所有资产的答案。

我正在寻找一种方法来使用 .htaccess 或 httpd.conf 将所有资产(图像、pdf、视频、js、css、.txt 等)从 http 重定向到 https。

http 和 https 的完整结构保持不变。

我将不胜感激有关此主题的任何指导。

谢谢 威廉

【问题讨论】:

    标签: apache .htaccess redirect config http-status-code-301


    【解决方案1】:
    # Checking if HTTPS is enabled for current page   
    RewriteCond %{HTTPS} !=on 
    # Redirecting any non-HTTPS document by this URL to HTTPS URL
    RewriteRule (.*)\.(?:jpe?g|gif|bmp|png|tiff|css|js|pdf))$  https://%{SERVER_NAME}/$1.$2 [R=301,L]
    

    取自这里:https://wiki.apache.org/httpd/RewriteHTTPToHTTPS

    【讨论】:

    • 这对资产有用吗?我敢肯定这会在页面上工作。到目前为止,我有这个但不知道如何从 http 重定向到 https。 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(?:[^/]*/)*([^/.]+\.(?:jpe?g|gif|bmp|png|tiff|css|js|pdf))$ /$1 [R=301,L,NC]
    • 它应该适用于任何请求的 URL。我会为你的扩展更正规则。
    • RewriteCond %{REQUEST_FILENAME} !-f 表示该文件不应该存在于请求的 URL 上,您应该丢弃这一行。
    • 嗨,谢谢。我让它与以下内容一起工作:RewriteCond %{HTTPS} !=on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(?:[^/]*/)*([^/.]+\.(?:jpe?g|gif|bmp|png|tiff|css|js|pdf))$ https://%{SERVER_NAME}/$1 [R=301,L]
    • 有没有办法在 httpd.conf 文件中做到这一点?我喜欢让这些重定向远离 htaccess。
    猜你喜欢
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 2018-12-26
    • 1970-01-01
    • 2017-06-17
    • 2014-05-28
    • 2018-10-19
    • 2015-12-27
    相关资源
    最近更新 更多