We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 30328
    • 35 Posts
    Hi,

    I’m having a problem with getting friendly URLs to work. I have installed the example site, enabled friendly urls in the config manager, and the .htaccess file. The links in the menus all work fine with friendly URLs.

    However, if I create a new blog post from the front end, after I submit I get forwarded to a page such as "/49/" and modx gives a 404 error. If I login to the manager I see that in this case 49 is the id of the new post (and this happens with every new blog post), and the new post is there

    How can this be fixed?

    Tommy T.
      • 5063
      • 5 Posts
      Hi,

      Sorry for my poor English Undecided

      I installed MODx 0.9.6 yesterday. So everything is fine, it is very nice and handy cms, but I have big problem with my mod_rewrite SEO Urls.

      Now, on my site I have 2 testing pages. First is Home page http://www.my-domain.cz and Seocond is http://www.my-domain.cz/seo-reference.html. In administration I set SEO Urls to ON. Aliases are set to generate automatically.
      I adjust .htaccess file to this form:
      # 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 /
      
      
      
      # 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\.my-domain\.cz [NC]
      RewriteRule (.*) http://www.my-domain.cz/$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, 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
      




      MODx is running in my root directory so RewriteBase / I let by in this configuration.

      So I open my homesite I see http://www.my-domain.cz when I click on SEO Referention http://www.my-domain.cz/seo-referention.html everything is ok, but when I click on link Home ( it link on my site targeting to Homesite http://www.my-domain.cz/ ) I see this url http://www.my-domian:4080/ and site has down ( 30sec reaction on my click). When I would like to click on SEO Referention ( good url is http://www.my-domain.cz/seo-referention.html ) I see this bad url : http://www.my-domain.cz:4080/seo-referention.html. When I turn SEO URLs in admin to OFF status everything work fine. So my friends what can I do for repair it?

      Second ht.access file in /manager/ is renamed right to .htaccess and I see in this file "RewriteEngine Off"

      When I turn off SEO Urls in admin my testing pages has this urls: Homepage http://www.my-domain.cz SEO Referention http://www.my-domain.cz/index.php?id=3

      Before installation I set permissions on files just like is write in readme file.

      Can you help me my friends?!

      Thank you for yor kind and answer
        • 23491 ☆ A M B ☆
        • 1,056 Posts
        @ChickenVindalu, What happens when you comment out this line?

        RewriteCond %{HTTP_HOST} .


        becomes

        #RewriteCond %{HTTP_HOST} .


        Any luck then?
          Mike Reid - www.pixelchutes.com
          MODx Ambassador / Contributor
          [Module] MultiMedia Manager / [Module] SiteSearch / [Snippet] DocPassword / [Plugin] EditArea / We support FoxyCart
          ________________________________
          Where every pixel matters.
          • 30328
          • 35 Posts
          Hi pixelchutes,

          Was your response to my or ChickenVindalu’s query?

          Tommy T.
            • 30328
            • 35 Posts
            I’ve looked into my problem some more, and I’ve tracked it down to $modx->makeUrl($postid) in the redirect line in the NewsPublisher snippet. I temporarily changed it to not redirect, but to echo the result of $modx->makeUrl($postid) to the document, I see that it is equal to:

            /59/

            (where 59 is the id of the document created).

            The strange thing is, after the document is created, I create another page with a call to $modx->makeUrl(59), and echoed that to the screen, and I get

            /photos/article-1182425024/

            which is the appropriate path. So somehow the first call to makeUrl is getting it wrong, but then a second call on another page gets it right. How can I get the first call to makeUrl be correct?

            Tommy T.
              • 22303 MODX Staff
              • 10,725 Posts
              You must set the option to clear the cache in NewsPublisher, and then you will need to load another request (which picks up the updated siteCache containing the updated map of document aliases) in order to see the proper URL from the makeUrl() function. The new URL is not available until the siteCache is reloaded...
                • 30328
                • 35 Posts
                Hi,

                Quote from: OpenGeek at Jun 21, 2007, 09:17 AM

                You must set the option to clear the cache in NewsPublisher, and then you will need to load another request (which picks up the updated siteCache containing the updated map of document aliases) in order to see the proper URL from the makeUrl() function. The new URL is not available until the siteCache is reloaded...
                I am happy to set the option to clear the cache, but how do I "load another request"? I’m not even sure what that means.

                Thanks,

                Tommy T.
                  • 22303 MODX Staff
                  • 10,725 Posts
                  Quote from: tommyt at Jun 21, 2007, 10:47 AM

                  I am happy to set the option to clear the cache, but how do I "load another request"? I’m not even sure what that means.
                  It means you have to redirect to another page (i.e. execute another request to the web server/MODx) so that the new siteCache file is loaded. Clearing the cache does not reload the siteCache file (and the new alias mapping for the document you added) within the scope of the same request, it just clears it for subsequent requests.
                    • 30328
                    • 35 Posts
                    OpenGeek: Thank you!
                      • 33300
                      • 18 Posts
                      Hey guys!
                      Im dont know much about server access and all that stuff, pretty confusing to me huh

                      My host is http://www.one.com and the friendly urls dont work. Heres how my htacces looks like:

                      # -FrontPage-

                      IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*

                      <Limit GET POST>
                      order deny,allow
                      deny from all
                      allow from all
                      </Limit>
                      <Limit PUT DELETE>
                      order deny,allow
                      deny from all
                      </Limit>

                      All i did is rename the ht.access files in my modx, but i really have no idea on how to edit this file. Hopefully somebody can help me embarrassed

                      greetings z00la

                      This discussion is closed to further replies. Keep calm and carry on.