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

    I have the following problem:

    -I have installed on my local machine Windows 10 with XAMPP v 3.2.2 MODX Revo 2.5.0
    -I have installed the Login and Discuss extras from the repo
    -I have followed the instructions on the documentation pages for the respected pages
    - I have enabled the friendly URLS and my .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.
    #
    # 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 /empactp
    
    
    
    # Discuss rewrite rules
    RewriteRule ^forums/thread/([0-9]+)/(.*)$ forums/?action=thread&thread=$1 [L,QSA]
    RewriteRule ^forums/u/(.+)$ forums/?action=user&user=$1 [L,QSA]
    RewriteRule ^forums/board/([0-9]+)/(.*)$ forums/?action=board&board=$1 [L,QSA]
    RewriteRule ^forums/category/([0-9]+)/(.*)$ forums/?category=$1 [L,QSA]
    RewriteRule ^forums/(.+)$ forums/?action=$1 [L,QSA]
    RewriteRule ^forums/(.+)/$ forums/?action=$1 [L,QSA]
    
    
    # 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
    


    - I have created the Login resource which only contains
    [[!Login? &loginResourceId=`3` &logoutResourceId=`2` &preHooks=`preHook.DiscussLogin` &postHooks=`postHook.DiscussLogin` ]]


    - The resource with ID 3 contains the snippet call
    [[!loginPostHook]]


    - The snippet simply checks if the user belongs to one of the user groups and redirects them accordingly
    $redirs['ActiveCitizen']   = '4';
    $redirs['Expert']            = '5';
    
    
    foreach ($redirs as $group => $id){
        if ($modx->user->isMember($group)){
            $url=$modx->makeUrl($id);
            $modx->sendRedirect($url);
        }
    }
     
    return true;


    When friendly urls are off Login works (Discuss is not working)
    But when friendly urls are on Login does not seem to work. Any ideas?
    • Ok so I have found this to be an issues as well. I have a MODX environment setup that when friendly urls are enable the Login plugin and related redirects fail to work properly. As any one else had this problem or know of the cause. This can be frustrating.

      https://sitedomain.com/index.php?id=95 ( login page ) : when the login form is complete it redirect to the members home page.
      However when Friendly urls are enable the redirect ignores the the specified ID and redirects to a url with a duplicated path way
      Ex. https://sitedomain.com/member/login.html ( login ) it redirects to: https://sitedomain.com/members/members/login.html ( Bad Redirect with duplicate alias path) it should have redirected to: https://sitedomain.com/members/dashbaord.html

      Would welcome some thoughts on the cause of this issue.

        • 3749
        • 24,544 Posts
        First, makeUrl() should always be called like this:

        $url=$modx->makeUrl($id, "", "", "full);


        Second, the RewriteBase line in .htaccess should end in a slash.

        Do you have multiple front-end contexts on the site? The makeURL() method that actually creates the URL is a member of the modContext object. So this would be correct in that situation:

        $url=$modx->makeUrl($id, "[i]contextName[/i]", "", "full);


        Even if you don't have multiple contexts, you might try this:

        $url=$modx->makeUrl($id, "web", "", "full);


        Be sure you're not previewing from the Manager when testing -- it's best to use a completely different browser where you're not logged in to the Manager.




          Did I help you? Buy me a beer
          Get my Book: MODX:The Official Guide
          MODX info for everyone: http://bobsguides.com/modx.html
          My MODX Extras
          Bob's Guides is now hosted at A2 MODX Hosting
        • Quote from: BobRay at May 24, 2017, 05:14 PM
          First, makeUrl() should always be called like this:

          $url=$modx->makeUrl($id, "", "", "full);


          Second, the RewriteBase line in .htaccess should end in a slash.

          Do you have multiple front-end contexts on the site? The makeURL() method that actually creates the URL is a member of the modContext object. So this would be correct in that situation:

          $url=$modx->makeUrl($id, "[i]contextName[/i]", "", "full);


          Even if you don't have multiple contexts, you might try this:

          $url=$modx->makeUrl($id, "web", "", "full);


          Be sure you're not previewing from the Manager when testing -- it's best to use a completely different browser where you're not logged in to the Manager.




          Is there any way to correct the problem of the login plugin not processing when friendly URL are not working? Example the profile call will not pull results when on a url when friendly urls are enabled.
            • 3749
            • 24,544 Posts
            Is there any way to correct the problem of the login plugin not processing when friendly URL are not working? Example the profile call will not pull results when on a url when friendly urls are enabled.

            I assume you mean the Login snippet, but I'm afraid I still can't figure out what you're asking. Can you give more details on these: "plugin not processing" and "profile call will not pull results." Both could describe several different situations.

            More to the point, it sounds like you're asking how to make Login work when FURLs aren't working. I'd suggest getting FURLs to work before worrying about anything else.
              Did I help you? Buy me a beer
              Get my Book: MODX:The Official Guide
              MODX info for everyone: http://bobsguides.com/modx.html
              My MODX Extras
              Bob's Guides is now hosted at A2 MODX Hosting
              • 17301
              • 932 Posts
              Are you doing this on xampp also? Have you ensured that modrewrite is enabled in your php environment?
                ■ email: [email protected] | ■ website: https://alienbuild.uk

                The greatest compliment you can give back to us, is to spend a few seconds leaving a rating at our trustpilot: https://uk.trustpilot.com/review/alienbuild.uk about the service we provided. We always drop mention of services offered by businesses we've worked with in the past to those of interest.
              • Quote from: BobRay at May 24, 2017, 06:59 PM
                Is there any way to correct the problem of the login plugin not processing when friendly URL are not working? Example the profile call will not pull results when on a url when friendly urls are enabled.

                I assume you mean the Login snippet, but I'm afraid I still can't figure out what you're asking. Can you give more details on these: "plugin not processing" and "profile call will not pull results." Both could describe several different situations.

                More to the point, it sounds like you're asking how to make Login work when FURLs aren't working. I'd suggest getting FURLs to work before worrying about anything else.

                Ok Bob, hopefully this will help.
                The MODX Extra as you know has several Snippets with it. Everything from Login to Forgot Password to Profile. What is currently occurring is when FURLs are enable and working several of the functions offered by the snippet within the Login Plugin do not work.

                For example:

                1. The Profile snippet which pulls data related to the the user profile. Will NOT pull the data when Friendly URLs are enable however.
                2. The Login snippet will ignore properties such as loginResourceId, and just just the default setting. This also where it will duplicate the alias pathway

                All of these snippet, there properties work when FURLs are disabled. I have use and setup MODX site with FURLs for years so I don't believe it improper setup of the FURLs as they are working, but it could be. However if that is the case I would believe the example I referenced on regarding the Profile Snippet would not be an issue.

                Hope this makes the issue more clear.
                • Quote from: lkfranklin at May 24, 2017, 07:06 PM
                  Are you doing this on xampp also? Have you ensured that modrewrite is enabled in your php environment?

                  I did check and modrewrite is enabled.
                    • 3749
                    • 24,544 Posts
                    Thanks for the details. Did you look at all my suggestions above? Especially the trailing slash in the Rewrite Base line and changing the makeUrl() call.

                    When navigating the site, are friendly URLs working normally, or not?

                    BTW, discuss was released in 2013 and had some problems then, so it's entirely possible that it doesn't work in the current version of MODX and could be causing your other problems.
                      Did I help you? Buy me a beer
                      Get my Book: MODX:The Official Guide
                      MODX info for everyone: http://bobsguides.com/modx.html
                      My MODX Extras
                      Bob's Guides is now hosted at A2 MODX Hosting
                    • Quote from: BobRay at May 24, 2017, 08:11 PM
                      Thanks for the details. Did you look at all my suggestions above? Especially the trailing slash in the Rewrite Base line and changing the makeUrl() call.

                      When navigating the site, are friendly URLs working normally, or not?

                      BTW, discuss was released in 2013 and had some problems then, so it's entirely possible that it doesn't work in the current version of MODX and could be causing your other problems.

                      Bob, first yes I did look at the issue with the .htaccess and it is fine. second FURLs are work normally. As for discuss that is less of the issue the real issue is the Login Extra