We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 27541
    • 29 Posts
    Please bear with me while I try to explain this issue -- I’m a newb, so my terminology may be incorrect:

    I have a main site set up, with multiple subdomains. Some have registered domain names that point to them, others are just there for my own testing & development purposes.
    I installed ModX & developed a site one of these testing subdomains. When ready to launch, I simply moved all the files over to the final location -- this is another subdomain on my site, with a registered domain name that points to it. I changed URLs in the Manager interface to the new registered domain. All the pages load just fine.

    The issue is this:
    My main site is sktdesign.com. I have stellasingers.com pointing to a subdomain on my site, stellasingers.sktdesign.com. When I visit stellasingers.com, the home page loads, but if i visit any of the other pages, the friendly URLs are shown as stellasingers.sktdesign.com/page.html. How can I set things up so that the sktdesign part doesn’t show?

    So instead of
    www.stellasingers.sktdesign.com/about.html
    I want the URL to read
    www.stellasingers.com/about.html

    Any help is greatly appreciated. Thank you,
    ST

      • 28042 ☆ A M B ☆
      • 24,524 Posts
      I believe that you’ll need to set the .htaccess RewriteBase to the physical subdirectory of your subdomain (this is the .htaccess file in the subdirectory where your subdomain’s MODx is installed)
      RewriteBase /stellasingers/
        Studying MODX in the desert - http://sottwell.com
        Tips and Tricks from the MODX Forums and Slack Channels - http://modxcookbook.com
        Join the Slack Community - http://modx.org
        • 27541
        • 29 Posts
        thanks, susan -- i tried this, near the top of the .htaccess file. so now it reads:

        Options +FollowSymlinks
        RewriteEngine On
        RewriteBase /stellasingers/

        (it used to say:
        RewriteBase /
        )

        now, however, i get a ’500 internal server error’ page whenever i click the main nav links.
        any ideas?
        thanks,
        st

          • 28042 ☆ A M B ☆
          • 24,524 Posts
          Do you have an .htaccess file that turns on the rewrite engine in your root directory? If so, comment out the line that starts the engine in the subdirectory’s .htaccess file.
            Studying MODX in the desert - http://sottwell.com
            Tips and Tricks from the MODX Forums and Slack Channels - http://modxcookbook.com
            Join the Slack Community - http://modx.org
            • 27541
            • 29 Posts
            thank you, susan. yes, the .htaccess in my root directory does turn on the rewrite engine. so i’ve made the change you suggested, and that seems to have solved the 500 server error. so now it reads:

            Options +FollowSymlinks
            # RewriteEngine On
            RewriteBase /stellasingers/

            but now i get a "404 not found" error when i click on navigation links... perhaps i’ve set something wrong in the manager?
            thanks,
            st
              • 25663 MODX Staff
              • 12,272 Posts
              Try clearing your cache in the manager first.
                Ryan Thrash, MODX Co-Founder
                Follow me on Twitter at @rthrash or catch my occasional unofficial thoughts at thrash.me
                • 27541
                • 29 Posts
                thanks, ryan -- i have done as you suggested, but no change. i’m still getting 404 errors for all the pages except home. sad
                  • 27541
                  • 29 Posts
                  does anyone have any additional suggestions on this problem? the initial problem seems corrected (ie. all links to other pages show up as www.stellasingers.com/page.html), but they are broken -- i get 404 errors for all. any additional suggestions would be greatly appreciated.
                  many thanks,
                  st

                  i’m also seeing that when i turn off FURLs, there are no 404 errors. so is this an issue of how to make FURLs work with my subdomain?
                    • 27541
                    • 29 Posts
                    I’ve changed the title on this thread to be more accurate -- hope that’s ok. I am including my .htaccess file below in the hope that it might help in solving my problem. I really appreciate any suggestions, and I’m willing to try anything that might work. Thanks again.
                    ST

                    my .htaccess as it now is -------------------------------------

                    # 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. If you have
                    # problems with your .htaccess working at all, try un-commenting the first
                    # line above the "RewriteEngine On" directive.
                    #
                    # 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]

                    Options +FollowSymlinks
                    # RewriteEngine On
                    RewriteBase /stellasingers/

                    # 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 THE ABOVE AND BELOW <<<
                    #
                    #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.com/$1 [R=301,L]



                    # The Friendly URLs part
                    RewriteCond %{REQUEST_FILENAME} !-f
                    RewriteCond %{REQUEST_FILENAME} !-d
                    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
                    # RewriteRule ^(.*)$ /stellasingers/index.php?q=$1 [L,QSA,NC]



                    # 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 but 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
                      • 27541
                      • 29 Posts
                      ("Fixed" as opposed to "Solved", since I haven’t identified the cause of the problem)

                      I restored the .htaccess to the state it was in when I originally moved the site from development to production. All works fine now, no clue why.
                      ST