도메인 이름에서 www를 제거하고 https를 적용하는 방법은 무엇입니까?

라훌

나는 두 가지를 성취하고 싶다

  1. 도메인 이름에서 www 제거
  2. https 시행

http:// www.example.org  should be redirect to https://example.org
https:// www.example.org  should be redirect to https://example.org

최신 정보:

현재 다음 .htaccess 규칙을 사용하고 있습니다.

<IfModule mod_rewrite.c>
  RewriteCond %{HTTPS} !=on
  RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
  RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
</IfModule>

이 규칙은 www가 있으면 URL에서 제거하고 사용자를 https로 리디렉션합니다. 이것은 URL에 www가있는 경우에만 발생합니다. http://exampl.org로 내 사이트에 액세스 하면 https로 리디렉션되지 않습니다. 두 가지를 모두 달성하려면 어떻게해야합니까?

1) URL에서 www 제거

2) https 시작

여기 내 htaccess 파일이 있습니다. 언급 된 답변을 시도했지만 작동하지 않는 것 같습니다.

  # ----------------------------------------------------------------------
  # Better website experience for IE users
  # ----------------------------------------------------------------------

    # Force the latest IE version, in various cases when it may fall back to IE7 mode
    #  github.com/rails/rails/commit/123eb25#commitcomment-118920
    # Use ChromeFrame if it's installed for a better experience for the poor IE folk

    <IfModule mod_headers.c>
      Header set X-UA-Compatible "IE=Edge,chrome=1"
      # mod_headers can't match by content-type, but we don't want to send this header on *everything*...
      <FilesMatch "\.(js|css|gif|png|jpe?g|pdf|xml|oga|ogg|m4a|ogv|mp4|m4v|webm|svg|svgz|eot|ttf|otf|woff|ico|webp|appcache|manifest|htc|crx|oex|xpi|safariextz|vcf)$" >
        Header unset X-UA-Compatible
      </FilesMatch>
    </IfModule>

    # ----------------------------------------------------------------------
    # CORS-enabled images (@crossorigin)
    # ----------------------------------------------------------------------

    # Send CORS headers if browsers request them; enabled by default for images.
    # developer.mozilla.org/en/CORS_Enabled_Image
    # blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html
    # hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/
    # wiki.mozilla.org/Security/Reviews/crossoriginAttribute

    <IfModule mod_setenvif.c>
      <IfModule mod_headers.c>
        # mod_headers, y u no match by Content-Type?!
        <FilesMatch "\.(gif|png|jpe?g|svg|svgz|ico|webp)$">
          SetEnvIf Origin ":" IS_CORS
          Header set Access-Control-Allow-Origin "*" env=IS_CORS
        </FilesMatch>
      </IfModule>
    </IfModule>


    # ----------------------------------------------------------------------
    # Webfont access
    # ----------------------------------------------------------------------

    # Allow access from all domains for webfonts.
    # Alternatively you could only whitelist your
    # subdomains like "subdomain.example.com".

    <IfModule mod_headers.c>
      <FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css)$">
        Header set Access-Control-Allow-Origin "*"
      </FilesMatch>
    </IfModule>


    # ----------------------------------------------------------------------
    # Proper MIME type for all files
    # ----------------------------------------------------------------------

    # JavaScript
    #   Normalize to standard type (it's sniffed in IE anyways)
    #   tools.ietf.org/html/rfc4329#section-7.2
    AddType application/javascript         js jsonp
    AddType application/json               json

    # Audio
    AddType audio/ogg                      oga ogg
    AddType audio/mp4                      m4a f4a f4b

    # Video
    AddType video/ogg                      ogv
    AddType video/mp4                      mp4 m4v f4v f4p
    AddType video/webm                     webm
    AddType video/x-flv                    flv

    # SVG
    #   Required for svg webfonts on iPad
    #   twitter.com/FontSquirrel/status/14855840545
    AddType     image/svg+xml              svg svgz
    AddEncoding gzip                       svgz

    # Webfonts
    AddType application/vnd.ms-fontobject  eot
    AddType application/x-font-ttf         ttf ttc
    AddType font/opentype                  otf
    AddType application/x-font-woff        woff

    # Assorted types
    AddType image/x-icon                        ico
    AddType image/webp                          webp
    AddType text/cache-manifest                 appcache manifest
    AddType text/x-component                    htc
    AddType application/xml                     rss atom xml rdf
    AddType application/x-chrome-extension      crx
    AddType application/x-opera-extension       oex
    AddType application/x-xpinstall             xpi
    AddType application/octet-stream            safariextz
    AddType application/x-web-app-manifest+json webapp
    AddType text/x-vcard                        vcf
    AddType application/x-shockwave-flash       swf
    AddType text/vtt                            vtt

    # ----------------------------------------------------------------------
    # Gzip compression
    # ----------------------------------------------------------------------

    <IfModule mod_deflate.c>

      # Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
      <IfModule mod_setenvif.c>
        <IfModule mod_headers.c>
          SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
          RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
        </IfModule>
      </IfModule>

      # Compress all output labeled with one of the following MIME-types
      <IfModule mod_filter.c>
        AddOutputFilterByType DEFLATE application/atom+xml \
                                      application/javascript \
                                      application/json \
                                      application/rss+xml \
                                      application/vnd.ms-fontobject \
                                      application/x-font-ttf \
                                      application/xhtml+xml \
                                      application/xml \
                                      font/opentype \
                                      image/svg+xml \
                                      image/x-icon \
                                      text/css \
                                      text/html \
                                      text/plain \
                                      text/x-component \
                                      text/xml
      </IfModule>

    </IfModule>


    # ----------------------------------------------------------------------
    # Expires headers (for better cache control)
    # ----------------------------------------------------------------------

    # These are pretty far-future expires headers.
    # They assume you control versioning with filename-based cache busting
    # Additionally, consider that outdated proxies may miscache
    #   www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/

    # If you don't use filenames to version, lower the CSS and JS to something like
    # "access plus 1 week".

    <IfModule mod_expires.c>
      ExpiresActive on

    # Perhaps better to whitelist expires rules? Perhaps.
      ExpiresDefault                          "access plus 1 month"

    # cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5)
      ExpiresByType text/cache-manifest       "access plus 0 seconds"

    # Your document html
      ExpiresByType text/html                 "access plus 0 seconds"

    # Data
      ExpiresByType text/xml                  "access plus 0 seconds"
      ExpiresByType application/xml           "access plus 0 seconds"
      ExpiresByType application/json          "access plus 0 seconds"

    # Feed
      ExpiresByType application/rss+xml       "access plus 1 hour"
      ExpiresByType application/atom+xml      "access plus 1 hour"

    # Favicon (cannot be renamed)
      ExpiresByType image/x-icon              "access plus 1 week"

    # Media: images, video, audio
      ExpiresByType image/gif                 "access plus 1 month"
      ExpiresByType image/png                 "access plus 1 month"
      ExpiresByType image/jpeg                "access plus 1 month"
      ExpiresByType video/ogg                 "access plus 1 month"
      ExpiresByType audio/ogg                 "access plus 1 month"
      ExpiresByType video/mp4                 "access plus 1 month"
      ExpiresByType video/webm                "access plus 1 month"

    # HTC files  (css3pie)
      ExpiresByType text/x-component          "access plus 1 month"

    # Webfonts
      ExpiresByType application/x-font-ttf    "access plus 1 month"
      ExpiresByType font/opentype             "access plus 1 month"
      ExpiresByType application/x-font-woff   "access plus 1 month"
      ExpiresByType image/svg+xml             "access plus 1 month"
      ExpiresByType application/vnd.ms-fontobject "access plus 1 month"

    # CSS and JavaScript
      ExpiresByType text/css                  "access plus 1 year"
      ExpiresByType application/javascript    "access plus 1 year"

    </IfModule>

    # ----------------------------------------------------------------------
    # ETag removal
    # ----------------------------------------------------------------------

    # FileETag None is not enough for every server.
    <IfModule mod_headers.c>
      Header unset ETag
    </IfModule>

    # Since we're sending far-future expires, we don't need ETags for
    # static content.
    #   developer.yahoo.com/performance/rules.html#etags
    FileETag None

    # ----------------------------------------------------------------------
    # Start rewrite engine
    # ----------------------------------------------------------------------

    # Turning on the rewrite engine is necessary for the following rules and
    # features. FollowSymLinks must be enabled for this to work.

    # Some cloud hosting services require RewriteBase to be set: goo.gl/HOcPN
    # If using the h5bp in a subdirectory, use `RewriteBase /foo` instead where
    # 'foo' is your directory.

    # If your web host doesn't allow the FollowSymlinks option, you may need to
    # comment it out and use `Options +SymLinksIfOwnerMatch`, but be aware of the
    # performance impact: goo.gl/Mluzd

    <IfModule mod_rewrite.c>
      Options +FollowSymlinks
    # Options +SymLinksIfOwnerMatch
      RewriteEngine On
    # RewriteBase /
    </IfModule>


    # ----------------------------------------------------------------------
    # Suppress or force the "www." at the beginning of URLs
    # ----------------------------------------------------------------------

    # The same content should never be available under two different URLs -
    # especially not with and without "www." at the beginning, since this can cause
    # SEO problems (duplicate content). That's why you should choose one of the
    # alternatives and redirect the other one.

    # By default option 1 (no "www.") is activated.
    # no-www.org/faq.php?q=class_b

    # If you'd prefer to use option 2, just comment out all option 1 lines
    # and uncomment option 2.

    # IMPORTANT: NEVER USE BOTH RULES AT THE SAME TIME!

    # ----------------------------------------------------------------------

    # Option 1:
    # Rewrite "www.example.com -> example.com".

    #<IfModule mod_rewrite.c>
     # RewriteCond %{HTTPS} !=on
     # RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
     # RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
    #</IfModule>

    <IfModule mod_rewrite.c>
      RewriteEngine On

        #RewriteCond %{HTTPS} off [OR]
        #RewriteCond %{HTTP:X-Forwarded-SSL} off [OR]
        #RewriteCond %{HTTP_HOST} ^www\.
        #RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$
        #RewriteRule ^ https://%1%{REQUEST_URI} [NE, L, R]

        #RewriteCond %{SERVER_PORT} ^80$
        #RewriteRule ^(.*)$ https://%{SERVER_NAME} %{REQUEST_URI} [R=301,L]

        RewriteCond %{HTTPS} off [OR]
      RewriteCond %{HTTP_HOST} ^www\.
      RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$
      RewriteRule ^ https://%1%{REQUEST_URI} [NE,L,R]


        #RewriteCond %{HTTP_HOST} ^(^www\.)
        #RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
        #RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
    </IfModule>

    #<IfModule mod_rewrite.c>
    #  RewriteEngine On
    #  RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
    #  RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
    #  RewriteCond %{HTTPS} !=on
    #  RewriteCond %{SERVER_PORT} 80
    #  RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]
    #</IfModule>

    # ----------------------------------------------------------------------
    # Prevent 404 errors for non-existing redirected folders
    # ----------------------------------------------------------------------

    # without -MultiViews, Apache will give a 404 for a rewrite if a folder of the
    # same name does not exist.
    # webmasterworld.com/apache/3808792.htm

    Options -MultiViews


    # ----------------------------------------------------------------------
    # Custom 404 page
    # ----------------------------------------------------------------------

    # You can add custom pages to handle 500 or 403 pretty easily, if you like.
    # If you are hosting your site in subdirectory, adjust this accordingly
    #    e.g. ErrorDocument 404 /subdir/404.html
    ErrorDocument 404 /404.html


    # ----------------------------------------------------------------------
    # UTF-8 encoding
    # ----------------------------------------------------------------------

    # Use UTF-8 encoding for anything served text/plain or text/html
    AddDefaultCharset utf-8

    # Force UTF-8 for a number of file formats
    AddCharset utf-8 .atom .css .js .json .rss .vtt .xml


    # ----------------------------------------------------------------------
    # A little more security
    # ----------------------------------------------------------------------

    # To avoid displaying the exact version number of Apache being used, add the
    # following to httpd.conf (it will not work in .htaccess):
    # ServerTokens Prod

    # "-Indexes" will have Apache block users from browsing folders without a
    # default document Usually you should leave this activated, because you
    # shouldn't allow everybody to surf through every folder on your server (which
    # includes rather private places like CMS system folders).
    <IfModule mod_autoindex.c>
      Options -Indexes
    </IfModule>

    # Block access to "hidden" directories or files whose names begin with a
    # period. This includes directories used by version control systems such as
    # Subversion or Git.
    <IfModule mod_rewrite.c>
      RewriteCond %{SCRIPT_FILENAME} -d [OR]
      RewriteCond %{SCRIPT_FILENAME} -f
      RewriteRule "(^|/)\." - [F]
    </IfModule>

    # Block access to backup and source files. These files may be left by some
    # text/html editors and pose a great security danger, when anyone can access
    # them.
    <FilesMatch "(\.(bak|config|sql|fla|psd|ini|log|sh|inc|swp|dist)|~)$">
      Order allow,deny
      Deny from all
      Satisfy All
    </FilesMatch>

    # Increase cookie security
    <IfModule php5_module>
      php_value session.cookie_httponly true
    </IfModule>



    <IfModule mod_rewrite.c>
        RewriteEngine On

        #<IfModule mod_vhost_alias.c>
        #    RewriteBase /
        #</IfModule>

        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ app.php [QSA,L]


    </IfModule>
라훌

마지막으로 내 의견에서 언급했듯이 내 환경에 탄력적 인로드 밸런서가 있기 때문에 다른 답변에 게시 된 규칙이 작동하지 않는 htaccess 규칙을 따라 작업했습니다. ELB를 통과하는 모든 HTTPS 요청은 "HTTPS"와 같은 X-FORWARDED-PROTO 값을 갖습니다.

RewriteEngine on
RewriteCond %{HTTP_HOST} www.(.+) [OR,NC]   
RewriteCond %{HTTP:X-Forwarded-Proto} !https [NC]
RewriteRule ^/?(.*) http s://mydomain.com%{REQUEST_URI} [L,R=301]

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

메시를 업데이트하거나 장면에서 제거하고 추가하는 것이 더 비용 효율적인 방법은 무엇입니까?

분류에서Dev

도메인 이름에 localhost를 설정하는 방법은 무엇입니까?

분류에서Dev

도메인과 하위 도메인 모두에서 https : //를 유지하고 www를 제거합니다.

분류에서Dev

grails를 사용하여 도메인 이름이 변수에있는 Domain의 메서드를 호출하는 방법은 무엇입니까?

분류에서Dev

AngularJS에서 현재 도메인 URL 링크를 제거하는 방법은 무엇입니까?

분류에서Dev

Laravel에서 API를 사용하여 AWS에서 도메인 이름 가용성을 확인하는 방법은 무엇입니까?

분류에서Dev

.htaccess에서 하위 도메인에 대한 .php를 제거하고 리디렉션하는 방법은 무엇입니까?

분류에서Dev

PHP에서 http 또는 https없이 도메인 이름을 확인하는 방법은 무엇입니까?

분류에서Dev

laravel 하위 도메인에서 인증 사용자를 확인하는 방법은 무엇입니까?

분류에서Dev

Oracle SQL에서 도메인 이름과 점을 마스킹하지 않고 이메일 ID를 마스킹하는 방법은 무엇입니까?

분류에서Dev

등록되지 않은 도메인 이름을 사용하여 PC에서 웹 사이트를 호출하는 방법은 무엇입니까?

분류에서Dev

도메인 이름 및 URL 슬래시 뒤에 문자를 요구하는 방법은 무엇입니까?

분류에서Dev

자체 네임 서버를 사용하여 도메인 이름에 대해 BIND를 구성하는 방법은 무엇입니까?

분류에서Dev

isalpha를 사용하지 않고 C에서 이름을 확인하는 방법은 무엇입니까?

분류에서Dev

람다에서지도를 적용하는 방법은 무엇입니까?

분류에서Dev

MVC에서 특정 도메인 사용자를 인증하는 방법은 무엇입니까?

분류에서Dev

MVC에서 특정 도메인 사용자를 인증하는 방법은 무엇입니까?

분류에서Dev

PL / SQL에서 정규식을 사용하여 도메인 이름의 TLD를 추출하는 방법은 무엇입니까?

분류에서Dev

모든 인수를 self에 전달하고 인수를 제거하는 방법은 무엇입니까?

분류에서Dev

www가 아닌 실제 도메인에 대해서만 링크를 구문 분석하는 방법은 무엇입니까?

분류에서Dev

이 AlertDialog에 onBackButtonPressed 메서드를 도입하는 방법은 무엇입니까?

분류에서Dev

폴더 및 하위 도메인을 우회하고 PHP를 사용하여 동일한 도메인에서 여는 방법은 무엇입니까?

분류에서Dev

htaccess는 주 도메인에 대해서만 www 및 https를 제거합니다 (하위 도메인 없음).

분류에서Dev

장고 양식에서 오류 메시지를 제거하는 방법은 무엇입니까?

분류에서Dev

SearchDelegate에서 고도 (그림자)를 제거하는 방법은 무엇입니까?

분류에서Dev

JWT를 사용하여 중앙 도메인에서 하위 도메인으로 각도로 로그인하는 방법은 무엇입니까?

분류에서Dev

pagemod destroy () 메서드를 적용하는 방법은 무엇입니까?

분류에서Dev

폴더를 제거하고 실행이 완료되었는지 확인하는 방법은 무엇입니까?

분류에서Dev

SAN에서 10TB 데이터를 제거하는 가장 효율적인 방법은 무엇입니까?

Related 관련 기사

  1. 1

    메시를 업데이트하거나 장면에서 제거하고 추가하는 것이 더 비용 효율적인 방법은 무엇입니까?

  2. 2

    도메인 이름에 localhost를 설정하는 방법은 무엇입니까?

  3. 3

    도메인과 하위 도메인 모두에서 https : //를 유지하고 www를 제거합니다.

  4. 4

    grails를 사용하여 도메인 이름이 변수에있는 Domain의 메서드를 호출하는 방법은 무엇입니까?

  5. 5

    AngularJS에서 현재 도메인 URL 링크를 제거하는 방법은 무엇입니까?

  6. 6

    Laravel에서 API를 사용하여 AWS에서 도메인 이름 가용성을 확인하는 방법은 무엇입니까?

  7. 7

    .htaccess에서 하위 도메인에 대한 .php를 제거하고 리디렉션하는 방법은 무엇입니까?

  8. 8

    PHP에서 http 또는 https없이 도메인 이름을 확인하는 방법은 무엇입니까?

  9. 9

    laravel 하위 도메인에서 인증 사용자를 확인하는 방법은 무엇입니까?

  10. 10

    Oracle SQL에서 도메인 이름과 점을 마스킹하지 않고 이메일 ID를 마스킹하는 방법은 무엇입니까?

  11. 11

    등록되지 않은 도메인 이름을 사용하여 PC에서 웹 사이트를 호출하는 방법은 무엇입니까?

  12. 12

    도메인 이름 및 URL 슬래시 뒤에 문자를 요구하는 방법은 무엇입니까?

  13. 13

    자체 네임 서버를 사용하여 도메인 이름에 대해 BIND를 구성하는 방법은 무엇입니까?

  14. 14

    isalpha를 사용하지 않고 C에서 이름을 확인하는 방법은 무엇입니까?

  15. 15

    람다에서지도를 적용하는 방법은 무엇입니까?

  16. 16

    MVC에서 특정 도메인 사용자를 인증하는 방법은 무엇입니까?

  17. 17

    MVC에서 특정 도메인 사용자를 인증하는 방법은 무엇입니까?

  18. 18

    PL / SQL에서 정규식을 사용하여 도메인 이름의 TLD를 추출하는 방법은 무엇입니까?

  19. 19

    모든 인수를 self에 전달하고 인수를 제거하는 방법은 무엇입니까?

  20. 20

    www가 아닌 실제 도메인에 대해서만 링크를 구문 분석하는 방법은 무엇입니까?

  21. 21

    이 AlertDialog에 onBackButtonPressed 메서드를 도입하는 방법은 무엇입니까?

  22. 22

    폴더 및 하위 도메인을 우회하고 PHP를 사용하여 동일한 도메인에서 여는 방법은 무엇입니까?

  23. 23

    htaccess는 주 도메인에 대해서만 www 및 https를 제거합니다 (하위 도메인 없음).

  24. 24

    장고 양식에서 오류 메시지를 제거하는 방법은 무엇입니까?

  25. 25

    SearchDelegate에서 고도 (그림자)를 제거하는 방법은 무엇입니까?

  26. 26

    JWT를 사용하여 중앙 도메인에서 하위 도메인으로 각도로 로그인하는 방법은 무엇입니까?

  27. 27

    pagemod destroy () 메서드를 적용하는 방법은 무엇입니까?

  28. 28

    폴더를 제거하고 실행이 완료되었는지 확인하는 방법은 무엇입니까?

  29. 29

    SAN에서 10TB 데이터를 제거하는 가장 효율적인 방법은 무엇입니까?

뜨겁다태그

보관