Customers can't open support tickets

Hello, we are currently (as of today) having an issue on our site where customers can't view their opened tickets. They can open a ticket just fine, but can't access after that.

I have attached a video from a customer detailing the issue.

Thanks!

  • Nastia

    Hello David Blackmon ,

    I am sorry to hear you have this issue.

    I am afraid the video link is missing from this thread. Would you please post it bellow?

    Please let me know, have you updated or install any other plugin lately on your site? Please run a quick check for a conflict with another plugin by deactivating all the plugins except Support Systems.

    If you can't replicate this issue anymore, activate one plugin at the time till you find the one that is causing it.

    The detailed steps pictured at this flowchart.

    Please grant access from WPMU DEV > Support so I can have a closer look at your site?

    See the detailed instructions on the link below:
    https://premium.wpmudev.org/manuals/wpmu-dev-dashboard-enabling-staff-login/

    Let me know when you do!

    Kind regards,
    Nastia

  • Sajid

    Hello David Blackmon,
    Hope you are doing good today :slight_smile:

    Thanks for sharing the video and confirmation of no plugin/theme conflict. However, it does not seems to be an issue of HTTPS either, I am saying this because it is working fine on my test site over HTTPS (see the animated gif below - click to enlarge to see the animation).

    Could you please tell me what exactly you did after it stopped working, except SSL thing ?

    Also, please send in FTP and WordPress admin details so we could further investigate this issue and flag developer if required.

    You can send the requested details via our secure contact form in following format.

    Subject: "Attn: Sajid Javed”
    - WordPress admin username
    - WordPress admin password
    - login url
    - FTP credentials (host/username/password)
    - link back to this thread for reference

    Take care and have a nice day :slight_smile:

    Best Regards,
    Sajid - WPMU DEV Support

  • Sajid

    Hello David Blackmon,
    Hope you are doing good today :slight_smile:

    Thanks for sending in the FTP and WordPress admin details. Upon further investigation, I came to know that $_GET and $_REQUEST global variables are empty. These globals store the ticket ID coming from the URL.

    Our plugin then detects if the ID exists in the URL, if yes then it display the ticket details page and query the information of that ticket from database accordingly.

    I see you (or any plugin) added the following code in .htaccess file that is emptying the query string parameter on server side.

    RewriteCond %{REQUEST_METHOD} GET
    RewriteCond %{QUERY_STRING} =""

    The whole block of the code is below.

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTPS} on [OR]
    RewriteCond %{SERVER_PORT} ^443$ [OR]
    RewriteCond %{HTTP:X-Forwarded-Proto} https
    RewriteRule .* - [E=WPR_SSL:-https]
    RewriteCond %{HTTP:Accept-Encoding} gzip
    RewriteRule .* - [E=WPR_ENC:_gzip]
    RewriteCond %{REQUEST_METHOD} GET
    RewriteCond %{QUERY_STRING} =""
    RewriteCond %{HTTP:Cookie} !(wordpress_logged_in_|wp-postpass_|wptouch_switch_toggle|comment_author_|comment_author_email_) [NC]
    RewriteCond %{REQUEST_URI} !^(/checkout/(.*)|/cart/|/my-account/(.*)|.*/feed/?|/wc-api/v(.*)|/wp-json/(.*))$ [NC]
    RewriteCond %{HTTP_USER_AGENT} !^(facebookexternalhit).* [NC]
    RewriteCond "%{DOCUMENT_ROOT}/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/index%{ENV:WPR_SSL}.html%{ENV:WPR_ENC}" -f
    RewriteRule .* "/wp-content/cache/wp-rocket/%{HTTP_HOST}%{REQUEST_URI}/index%{ENV:WPR_SSL}.html%{ENV:WPR_ENC}" [L]
    </IfModule>

    It appears that WPRocket added this on your site. Please remove this code and then ask your hosting to restart the server and then check if it works this time or not.

    Also, I would recommend first clearing all rules (except default WordPress ones) from .htaccess and test it again. If it works, then add the one that are necessary.

    If this is not the case, then please contact your host and ask them to enable request_order = "GP" in php.ini. If you are not sure what you need specifically then just pass on this answer on stackoverflow:
    http://stackoverflow.com/a/5701703

    Hope that helps! Feel free to post a reply if you need further assistance :slight_smile:

    Best Regards,
    Sajid - WPMU DEV Support

  • Sajid

    Hello David Blackmon,
    Hope you are doing good :slight_smile:

    I am sorry for delay on this ticket. There were a very strange issue then. However, I have fixed this issue by applying a workaround.

    In /plugins/incsub-support/inc/classes/class-query.php file, I added below code on nearly line number 203 - 218 in get_query_var function.

    $query_strings = substr( $_SERVER ['REQUEST_URI'] , strpos($_SERVER ['REQUEST_URI'], "?") + 1 );    
    
    		if($query_strings){
    
    			parse_str( $query_strings, $maybe_tid );
    
    			if (array_key_exists('tid', $maybe_tid)) {
    
    				$_REQUEST['tid']= $maybe_tid['tid'];
    
    			}
    		}

    I am sorry but I could not find any hook or it did not worked outside of it. So edited the core plugin file, so please note that you have to make this change each time you update the plugin.

    Right now, it is working just fine on your site. If you see any issue related to this just let me know.

    Best Regards,
    Sajid - WPMU DEV Support

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.