We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 10858
    • 1 Posts
    Hi! I’m having a problem with the friendly urls...

    I followed the online Mod-x Wiki about making friendly URLs - I added the page alias, checked that the server was running apache, changed the ht.access files [@ root and in the manager folder] to .htaccess [so apache could parse it], uncommented the parts of the .htaccess file that the wiki said to.

    The system did dynamically create the using the page alias and suffix [.html] but when I click on the links, I get a page error saying it can’t find index.php. [I had to turn off friendly URLs so I could continue to develop the site. So, I don’t have an example/website link.] I think it might have something to do with running it from hosting server and not the domain name. [The client wants to have her old site up while we develop her new one.]

    Thx in advance for any help!
      • 36592
      • 970 Posts
      Could you show us the active lines in .htaccess in your root directory ?
        • 18884
        • 2 Posts
        yea i’m having the exact same problem. Installed right out of the zip, created a document called Sample as a child of the root document "CMS Install Success"). doc id=2. Turned on friendly urls in config with no other options touched. Changed ht.access to .htaccess in both root and manager folders. Click the link in to my document from the index.php (cms install success) page --> sample.html --> Same error

        Not Found

        The requested URL /index.php was not found on this server.


        root .htaccess is as follows
        ---
        # 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 /


        # Fix Apache internal dummy connections from breaking [(site_url)] cache
        RewriteCond %{HTTP_USER_AGENT} ^.*internal\ dummy\ connection.*$ [NC]
        RewriteRule .* - [F,L]


        # 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]



        # 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
          • 36592
          • 970 Posts
          Are you accessing to your site like http://www.somedomain.com/ and manager for http://www.somedomain.com/manager ?
          Or did you install modx in the subdirectory ?
            • 33372
            • 1,611 Posts
            There are two things that need to happen for friendly URLs (FURLs) to work:

            1. MODx needs to generate these FURLs as internal links when given document ids, and
            2. Apache (or other server software if you’re not running Apache) needs to invisibly interpret and redirect these links to index.php with the document id in the query string.

            Your problem seems to be with number 2. If you’ve uploaded the main .htaccess file and it’s not interpreting your FURLs properly, then you probably need to check your server’s settings to be sure that mod_rewrite is installed and local .htaccess files are permitted to override the global settings. Or, if you’re not using Apache, you may need to use a different method to interpret FURLs (IIS has several possible ways to do this, none of which are as simple as mod_rewrite).
              "Things are not what they appear to be; nor are they otherwise." - Buddha

              "Well, gee, Buddha - that wasn&#39;t very helpful..." - ZAP

              Useful MODx links: documentation | wiki | forum guidelines | bugs & requests | info you should include with your post | commercial support options