We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 37165
    • 89 Posts
    I am at a loss for what is wrong. I know very little about .htaccess or 301 redirect and have read many blog posts on this but am still lost.

    I want to redirect presbyterianhomes.org/leadership to about.presbyterianhomes.org/leadership

    When I put that into my .htaccess file I get this: http://about.presbyterianhomes.org/leadership?q=leadership&q=leadership&q=leadership&q=leadership&q=leadership&q=leadership&q=leadership&q=leadership&q=leadership&q=leadership&q=leadership&q=leadership&q=leadership&q=leadership&q=leadership&q=leadership

    I've pasted my .htaccess file below. You can see I have some other redirects in there that are working just fine. I'm using friendly urls and redirector. That was the only way I could get my redirects to work. However for whatever reason this one will not work. Any ideas?
    # MODX supports Friendly URLs via this .htaccess file. You must serve web
    # pages via Apache with mod_rewrite to use this functionality, and you must
    # change the file name from ht.access to .htaccess.
    #
    # Make sure RewriteBase points to the directory where you installed MODX.
    # E.g., "/modx" if your installation is in a "modx" subdirectory.
    #
    # You may choose to make your URLs non-case-sensitive by adding a NC directive
    # to your rule: RewriteRule ^(.*)$ index.php?q=$1 [L,QSA,NC]
    
    
    
    
    RewriteEngine On
    RewriteBase /
    
    
    
    redirect 301 /the-moorings-of-arlington-heights http://themooringscarecenter.org
    
    
    redirect 301 /westminster-place http://westminsterplace.org
    
    
    redirect 301 /lake-forest-place http://lakeforestplace.org
    
    redirect 301 /ten-twenty-grove http://tentwentygrove.org/
    
    redirect 301 /about-presbyterian-homes http://about.presbyterianhomes.org/
    
    
    redirect 301 /leadership http://about.presbyterianhomes.org/leadership
    
    
    
    
    
    
    
    
    
    # Rewrite www.domain.com -> domain.com -- used with SEO Strict URLs plugin
    #RewriteCond %{HTTP_HOST} .
    #RewriteCond %{HTTP_HOST} !^example-domain-please-change\.com [NC]
    #RewriteRule (.*) http://example-domain-please-change.com/$1 [R=301,L]
    #
    # or for the opposite domain.com -> www.domain.com use the following
    # DO NOT USE BOTH
    #
    #RewriteCond %{HTTP_HOST} .
    #RewriteCond %{HTTP_HOST} !^www\.example-domain-please-change\.com [NC]
    #RewriteRule (.*) http://www.example-domain-please-change.com/$1 [R=301,L]
    
    
    
    # Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent 
    # https://www.domain.com when your cert only allows https://secure.domain.com
    #RewriteCond %{SERVER_PORT} !^443
    #RewriteRule (.*) https://example-domain-please-change.com/$1 [R=301,L]
    
    
    
    # The Friendly URLs part
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
    
    
    
    # Make sure .htc files are served with the proper MIME type, which is critical
    # for XP SP2. Un-comment if your host allows htaccess MIME type overrides.
    
    #AddType text/x-component .htc
    
    
    
    # If your server is not already configured as such, the following directive
    # should be uncommented in order to set PHP's register_globals option to OFF.
    # This closes a major security hole that is abused by most XSS (cross-site
    # scripting) attacks. For more information: http://php.net/register_globals
    #
    # To verify that this option has been set to OFF, open the Manager and choose
    # Reports -> System Info and then click the phpinfo() link. Do a Find on Page
    # for "register_globals". The Local Value should be OFF. If the Master Value
    # is OFF then you do not need this directive here.
    #
    # IF REGISTER_GLOBALS DIRECTIVE CAUSES 500 INTERNAL SERVER ERRORS :
    #
    # Your server does not allow PHP directives to be set via .htaccess. In that
    # case you must make this change in your php.ini file instead. If you are
    # using a commercial web host, contact the administrators for assistance in
    # doing this. Not all servers allow local php.ini files, and they should
    # include all PHP configurations (not just this one), or you will effectively
    # reset everything to PHP defaults. Consult www.php.net for more detailed
    # information about setting PHP directives.
    
    #php_flag register_globals Off
    
    
    
    # For servers that support output compression, you should pick up a bit of
    # speed by un-commenting the following lines.
    
    #php_flag zlib.output_compression On
    #php_value zlib.output_compression_level 5
    
    
    
    # The following directives stop screen flicker in IE on CSS rollovers. If
    # needed, un-comment the following rules. When they're in place, you may have
    # to do a force-refresh in order to see changes in your designs.
    
    #ExpiresActive On
    #ExpiresByType image/gif A2592000
    #ExpiresByType image/jpeg A2592000
    #ExpiresByType image/png A2592000
    #BrowserMatch "MSIE" brokenvary=1
    #BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
    #BrowserMatch "Opera" !brokenvary
    #SetEnvIf brokenvary 1 force-no-vary
    
    
    
    
    
    <FilesMatch "\.(ttf|otf|eot|woff|font.css)$">
    <IfModule mod_headers.c>
        Header set Access-Control-Allow-Origin "*"
      </IfModule>
    </FilesMatch>
    
    
    
    
    
    
    
    

    This question has been answered by treigh. See the first response.

      • 30585
      • 833 Posts
      Try this:
      // Place this immediately after
      // RewriteEngine On
      // RewriteBase /
      
      RewriteRule ^the-moorings-of-arlington-heights http://about.presbyterianhomes.org/leadership [R=301,L]
      


      You can also use Redirector for this kind things if your
        A MODx Fanatic
        • 37165
        • 89 Posts
        Thanks Treigh, but that only produced a 503 error. I tried using redirector but it only seems to work for the same domain. Can't redirect to a new domain or subdomain
        • discuss.answer
          • 30585
          • 833 Posts
          Actually, you can use a Weblink for this. Not sure why I didn't think of this. Weblinks set a 301 permanent redirect.

          In your origin install, change the resource type of your leadership resource to Weblink and in the alias field, make sure to have: leadership. Make this resource a container (settings -> container). In the Weblink field, enter: http://about.presbyterianhomes.org/leadership. If the leadership resource doesn't exist, create a new one and repeat the steps above.

          This should send a 301 permanent redirect Header. You can verify that it works here: http://www.internetofficer.com/seo-tool/redirect-check/
            A MODx Fanatic
            • 37165
            • 89 Posts
            Thanks Treigh, This is a nice easy way to accomplish what I wanted!

            I had no clue that the weblink field produced 301 redirects. Would still love to see a tutorial on using context router to work cross-domain or with sub-domains if anyone else is reading this and knows.
              • 30585
              • 833 Posts
              Glad it worked for you. Weblinks are sometimes under appreciated, but they sure come in handy. The genius of the the cool kids behind MODX is that they anticipated stuff like this light years ahead.

              I heard someone demoed context routing and stuff at MODXpo 2015. Perhaps a video or slides would be more helpful if/when it becomes available.
                A MODx Fanatic