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. Trailing Slashes for Magento CMS pages - 2 URLS - Duplicate content

    Trailing Slashes for Magento CMS pages - 2 URLS - Duplicate content

    Intermediate & Advanced SEO
    7 3 5.4k
    • 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.
    • iamgreenminded
      iamgreenminded last edited by

      Hello,

      Can anyone help me find a solution to Fixing and Creating Magento CMS pages to only use one URL  and not two URLS?

      www.domain.com/testpage

      www.domain.com/testpage/

      I found a previous article that applies to my issue, which is using htaccess to redirect request for pages in magento 301 redirect to slash URL from the non-slash URL.  I dont understand the syntax fully in htaccess , but I used this code below.

      This code below fixed the CMS page redirection but caused issues on other pages, like all my categories and products with this error:

      "This webpage has a redirect loop

      ERR_TOO_MANY_REDIRECTS"

      Assuming you're running at domain root.  Change to working directory if needed.

      RewriteBase /

      # www check

      If you're running in a subdirectory, then you'll need to add that in

      to the redirected url (http://www.mydomain.com/subdirectory/$1

      RewriteCond %{HTTP_HOST} !^www. [NC]
      RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]

      Trailing slash check

      Don't fix direct file links

      RewriteCond %{REQUEST_FILENAME} !-f

      RewriteCond %{REQUEST_URI} !(.)/$
      RewriteRule ^(.
      )$ $1/ [L,R=301]

      Finally, forward everything to your front-controller (index.php)

      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule .* index.php [QSA,L]

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

        Yes, server redirects are necessary. Try these solutions to see which one works for you:

        http://ralphvanderpauw.com/seo/how-to-301-redirect-a-trailing-slash-in-htaccess/

        http://enarion.net/web/htaccess/trailing-slash/

        You might want to consider moving to Nginx. You'll notice amazing speed and stability improvement with Nginx, Redis Session Cache, Memcached, OpCache, Ngx_pagespeed, and Magento Cache Storage Management. I can help much more with Nginx redirects and conf files--I gave up Apache years ago. Sorry I couldn't be of more help.

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

          RewriteEngine On
          RewriteBase /
          RewriteCond %{REQUEST_FILENAME} !-f
          RewriteCond %{REQUEST_URI} !example.php
          RewriteCond %{REQUEST_URI} !(.)/$
          RewriteRule ^(.
          )$ http://domain.com/$1/ [L,R=301]

          I have found both of the articles you linked here, nothing is working - any code I try gives me the same error on most of my pages:

          "This webpage has a redirect loop

          ERR_TOO_MANY_REDIRECTS"

          Still need a fix for this

          thanks

          kwoolf 1 Reply Last reply Reply Quote 0
          • kwoolf
            kwoolf @iamgreenminded last edited by

            You probably have other redirects in your .htaccess and possibly in your website code. The order of your rewrites is also important. Publish your Apache config and I'll take a look.

            FYI, there are better resources for technical issue than MOZ. Most here are not developers/IT specialists; we're more like SEO strategists and business managers.

            iamgreenminded 1 Reply Last reply Reply Quote 0
            • Guest
              Guest last edited by

              This post is deleted!
              iamgreenminded 1 Reply Last reply Reply Quote 0
              • iamgreenminded
                iamgreenminded @kwoolf last edited by

                Thank You Kevin.

                This is almost the default Magento htaccess file(out of the box), I think I had a couple entries to fix a couple other issues, the code I just added that isnt working is in the middle of the htaccess, its commented starting with this: ** "## slash removal re-write done by ALEX MEADE for iamgreenminded.com**

                uncomment these lines for CGI mode

                make sure to specify the correct cgi php binary file name

                it might be /cgi-bin/php-cgi

                Action php5-cgi /cgi-bin/php5-cgi

                AddHandler php5-cgi .php

                ############################################

                GoDaddy specific options

                Options -MultiViews

                you might also need to add this line to php.ini

                cgi.fix_pathinfo = 1

                if it still doesn't work, rename php.ini to php5.ini

                ############################################

                this line is specific for 1and1 hosting

                #AddType x-mapp-php5 .php
                #AddHandler x-mapp-php5 .php

                ############################################

                default index file

                DirectoryIndex index.php

                ############################################

                adjust memory limit

                php_value memory_limit 64M

                php_value memory_limit 256M
                php_value max_execution_time 18000

                ############################################

                disable magic quotes for php request vars

                php_flag magic_quotes_gpc off

                ############################################

                disable automatic session start

                before autoload was initialized

                php_flag session.auto_start off

                ############################################

                enable resulting html compression

                #php_flag zlib.output_compression on

                ###########################################

                disable user agent verification to not break multiple image upload

                php_flag suhosin.session.cryptua off

                ###########################################

                turn off compatibility with PHP4 when dealing with objects

                php_flag zend.ze1_compatibility_mode Off

                <ifmodule mod_security.c="">###########################################

                disable POST processing to not break multiple image upload</ifmodule>

                SecFilterEngine Off
                SecFilterScanPOST Off

                ############################################

                enable apache served files compression

                http://developer.yahoo.com/performance/rules.html#gzip

                Insert filter on all content

                ###SetOutputFilter DEFLATE

                Insert filter on selected content types only

                #AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript

                Netscape 4.x has some problems...

                #BrowserMatch ^Mozilla/4 gzip-only-text/html

                Netscape 4.06-4.08 have some more problems

                #BrowserMatch ^Mozilla/4.0[678] no-gzip

                MSIE masquerades as Netscape, but it is fine

                #BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

                Don't compress images

                #SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary

                Make sure proxies don't deliver the wrong content

                #Header append Vary User-Agent env=!dont-vary

                ############################################

                make HTTPS env vars available for CGI mode

                SSLOptions StdEnvVars

                ############################################

                enable rewrites

                Options +FollowSymLinks
                RewriteEngine on

                ############################################

                slash removal re-write done by ALEX MEADE for iamgreenminded.com

                RewriteBase /
                RewriteCond %{REQUEST_FILENAME} !-f
                RewriteCond %{REQUEST_FILENAME} !-d
                RewriteCond %{REQUEST_URI} !(.)/$
                RewriteCond %{REQUEST_FILENAME} !.(gif|jpg|png|jpeg|css|js)$ [NC]
                RewriteRule ^(.
                )$ http://%{HTTP_HOST}/$1/ [L,R=301]
                ############################################

                ############################################

                you can put here your magento root folder

                path relative to web root

                #RewriteBase /magento/

                ############################################

                uncomment next line to enable light API calls processing

                RewriteRule ^api/([a-z][0-9a-z_]+)/?$ api.php?type=$1 [QSA,L]

                ############################################

                rewrite API2 calls to api.php (by now it is REST only)

                RewriteRule ^api/rest api.php?type=rest [QSA,L]

                ############################################

                workaround for HTTP authorization

                in CGI environment

                RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

                ############################################

                TRACE and TRACK HTTP methods disabled to prevent XSS attacks

                RewriteCond %{REQUEST_METHOD} ^TRAC[EK]
                RewriteRule .* - [L,R=405]

                ############################################

                redirect for mobile user agents

                #RewriteCond %{REQUEST_URI} !^/mobiledirectoryhere/.$
                #RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC]
                #RewriteRule ^(.
                )$ /mobiledirectoryhere/ [L,R=302]

                ############################################

                always send 404 on missing files in these folders

                RewriteCond %{REQUEST_URI} !^/(media|skin|js)/

                ############################################

                never rewrite for existing files, directories and links

                RewriteCond %{REQUEST_FILENAME} !-f
                RewriteCond %{REQUEST_FILENAME} !-d
                RewriteCond %{REQUEST_FILENAME} !-l

                ############################################

                rewrite everything else to index.php

                RewriteRule .* index.php [L]

                ############################################

                Prevent character encoding issues from server overrides

                If you still have problems, use the second line instead

                AddDefaultCharset Off
                #AddDefaultCharset UTF-8

                ############################################

                Add default Expires header

                http://developer.yahoo.com/performance/rules.html#expires

                ExpiresDefault "access plus 1 year"

                ############################################

                By default allow all access

                Order allow,deny
                Allow from all

                ###########################################

                Deny access to release notes to prevent disclosure of the installed Magento version

                <files release_notes.txt="">order allow,deny
                deny from all</files>

                ############################################

                If running in cluster environment, uncomment this

                http://developer.yahoo.com/performance/rules.html#etags

                #FileETag none

                Permanent URL redirect - generated by www.rapidtables.com

                Redirect 301 /thebirdword http://www.thebirdword.com

                1 Reply Last reply Reply Quote 0
                • iamgreenminded
                  iamgreenminded @Guest last edited by

                  301's are not difficult for me, but handling the code for a logic to re-route requests for "URL" to "URL/" is something I dont know how to do. I can manually 301 or rel canonical my CMS pages on Magento everytime, but that defeats the purpose or the automation in htaccess I am trying to get working.

                  thanks

                  1 Reply Last reply Reply Quote 0
                  • 1 / 1
                  • First post
                    Last post
                  • Duplicate page content on numerical blog pages?
                    3mil
                    3mil
                    0
                    5
                    295

                  • Duplicate content on URL trailing slash
                    BlueprintMarketing
                    BlueprintMarketing
                    1
                    6
                    7.4k

                  • Duplicate Multi-site Content, Duplicate URLs
                    MonicaOConnor
                    MonicaOConnor
                    0
                    2
                    129

                  • 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

                  • Duplicate content URLs from bespoke ecommerce CMS - what's the best solution here?
                    TimHolmes
                    TimHolmes
                    0
                    2
                    92

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

                  • Duplicate page content and Duplicate page title errors
                    Cyrus-Shepard
                    Cyrus-Shepard
                    0
                    9
                    834

                  • Duplicate page content and duplicate pate title
                    RyanKent
                    RyanKent
                    0
                    3
                    555

                  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