The Moz Q&A Forum

    • Forum
    • Questions
    • My Q&A
    • Users
    • Ask the Community

    Welcome to the Q&A Forum

    Browse the forum for helpful insights and fresh discussions about all things SEO.

    1. SEO and Digital Marketing Q&A Forum
    2. Categories
    3. Intermediate & Advanced SEO
    4. 6 .htaccess Rewrites: Remove index.html, Remove .html, Force non-www, Force Trailing Slash

    6 .htaccess Rewrites: Remove index.html, Remove .html, Force non-www, Force Trailing Slash

    Intermediate & Advanced SEO
    4 3 9.7k
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as question
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • NeatIT
      NeatIT last edited by

      i've to give some information about my website Environment

      1. i have static webpage in the root.

      2. Wordpress installed in sub-dictionary www.domain.com/blog/

      3. I have two .htaccess , one in the root and one in the wordpress
      folder.

      i want to

      • www to non on all URLs
      • Remove index.html from url
      • Remove all .html extension / Re-direct 301 to url
        without .html extension
      • Add trailing slash to the static webpages / Re-direct 301 from non-trailing slash
      • Force trailing slash to the Wordpress Webpages / Re-direct 301 from non-trailing slash

      Some examples

      domain.tld/index.html >> domain.tld/

      domain.tld/file.html >> domain.tld/file/

      domain.tld/file.html/ >> domain.tld/file/

      domain.tld/wordpress/post-name >> domain.tld/wordpress/post-name/

      My code in ROOT htaccess is

      <ifmodule mod_rewrite.c="">Options +FollowSymLinks -MultiViews

      RewriteEngine On
      RewriteBase /

      #removing trailing slash
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^(.*)/$ $1 [R=301,L]

      #www to non
      RewriteCond %{HTTP_HOST} ^www.(([a-z0-9_]+.)?domain.com)$ [NC]
      RewriteRule .? http://%1%{REQUEST_URI} [R=301,L]

      #html
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^([^.]+)$ $1.html [NC,L]

      #index redirect
      RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index.html\ HTTP/
      RewriteRule ^index.html$ http://domain.com/ [R=301,L]
      RewriteCond %{THE_REQUEST} .html
      RewriteRule ^(.*).html$ /$1 [R=301,L]</ifmodule>

      The above code do

      1. redirect www to non-www
      2. Remove trailing slash at the end (if exists)
      3. Remove index.html
      4. Remove all .html
      5. Redirect 301 to filename but doesn't add trailing slash at the end

      1 Reply Last reply Reply Quote 0
      • Tom-Anthony
        Tom-Anthony last edited by

        Hey NeatIT!

        I see you have a working solution there. Did you have a specific question about the setup?

        I did notice that your setup cane sometimes result in chaining 301 redirects, which is one area for possible improvement.

        Let me know how we can help! 🙂

        NeatIT 1 Reply Last reply Reply Quote 0
        • NeatIT
          NeatIT @Tom-Anthony last edited by

          Hi Tom,

          thanks for your reply.

          i have some problems

          the above code doesn't

          1 - Add trailing slash to the static webpages / Re-direct 301 from non-trailing slash

          so it should be http://ghadaalsaman.com/articles/ instead of http://ghadaalsaman.com/articles

          2 - Force trailing slash to the Wordpress Webpages / Re-direct 301 from non-trailing slash

          1 Reply Last reply Reply Quote 0
          • roynguyen
            roynguyen last edited by

            #index redirect
            RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index.html\ HTTP/
            RewriteRule ^index.html$ http://domain.com/ [R=301,L]
            RewriteCond %{THE_REQUEST} .html
            RewriteRule ^(.*).html$ /$1 [R=301,L]

            hi anyone please help I use this code but now getting 404 error. please help.

            i also remove this code again but still same issue.

            1 Reply Last reply Reply Quote 0
            • 1 / 1
            • First post
              Last post
            • We are redirecting http and non www versions of our website. Should all versions http (non www version and www version) and https (non www version) should just have 1 redirect to the https www version?
              BlueprintMarketing
              BlueprintMarketing
              0
              8
              437

            • Removing the Trailing Slash in Magento
              effectdigital
              effectdigital
              0
              2
              565

            • Google Search Console indexes website for www but images for non www.
              DonnaDuncan
              DonnaDuncan
              1
              4
              79

            • Moving html site to wordpress and 301 redirect from index.htm to index.php or just www.example.com
              zeehj
              zeehj
              0
              4
              1.3k

            • Switching site from non-www to www
              MonicaOConnor
              MonicaOConnor
              0
              7
              3.7k

            • Is it better to have trailing slash or no trailing slash in URLs and what if both variations work?
              webmethod
              webmethod
              0
              4
              2.8k

            • Does having a trailing slash make a url different than the same url without the trailing slash?
              webestate
              webestate
              0
              4
              2.2k

            • 301 redirect from .html to non .html?
              seointern
              seointern
              0
              7
              3.4k

            Get started with Moz Pro!

            Unlock the power of advanced SEO tools and data-driven insights.

            Start my free trial
            Products
            • Moz Pro
            • Moz Local
            • Moz API
            • Moz Data
            • STAT
            • Product Updates
            Moz Solutions
            • SMB Solutions
            • Agency Solutions
            • Enterprise Solutions
            • Digital Marketers
            Free SEO Tools
            • Domain Authority Checker
            • Link Explorer
            • Keyword Explorer
            • Competitive Research
            • Brand Authority Checker
            • Local Citation Checker
            • MozBar Extension
            • MozCast
            Resources
            • Blog
            • SEO Learning Center
            • Help Hub
            • Beginner's Guide to SEO
            • How-to Guides
            • Moz Academy
            • API Docs
            About Moz
            • About
            • Team
            • Careers
            • Contact
            Why Moz
            • Case Studies
            • Testimonials
            Get Involved
            • Become an Affiliate
            • MozCon
            • Webinars
            • Practical Marketer Series
            • MozPod
            Connect with us

            Contact the Help team

            Join our newsletter
            Moz logo
            © 2021 - 2026 SEOMoz, Inc., a Ziff Davis company. All rights reserved. Moz is a registered trademark of SEOMoz, Inc.
            • Accessibility
            • Terms of Use
            • Privacy