How to remove ?i=1 from the website?

Website URL

sapplusplus.ru

1 Like

It is not possible to remove that on free hosting.

6 Likes

If you want to remove it, you’ll need to upgrade to premium in order to remove that. It’s part of the security system

5 Likes

I saw someone in similar topic saying that the following file should be add to solve the problem, but what the path of this file?

File: .htaccess
Content of this file:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.)i=[^&]+(.)$ [NC]
RewriteRule ^(.*)$ /$1?%1%2 [R=301,L]

That won’t work, It was a loop hole previously but as I understand it it was patched

2 Likes

Are you sure about that?

Well, it didn’t work when i tried it. The automated sweeper deleted .htaccess files that try and override the i=1

4 Likes

Thank you for confirmation.

try my script:

RewriteEngine On
# remove ?i=whatever number in here like ?i=1 ?i=69420
RewriteCond %{QUERY_STRING} (^|&)i=\d+(&|$)
RewriteRule ^(.*)$ /? [R=301,L]

it work perfect with my site, doesnt have the loop or anything


I think your browser may be hiding it from you. this is what I get when visiting your site

3 Likes

oh hell nah chrome is trolling me

Chrome is a sod for that :confused:

1 Like

why ms edge also not show the ?i=1
i think bill gate is also trolling me

I understand that the ?i=1 feature is part of the security system designed to stop bots from getting to your website, but why would they prevent hiding of the ?i=1 once the security system has done its job? If your website is served, it means that you’ve passed the aes.js security test.

Besides, in answer to the OP’s question, you can hide it by using client-side JS to redirect to the the correct URL if ?i=1 is present. Using plain PHP also works, something like this (perhaps prepended to all files)

<?php
if(isset($_GET['i'])){
    $url = strtok($_SERVER['REQUEST_URI'], '?');
    parse_str($_SERVER['QUERY_STRING'], $queryParams);
    if (isset($queryParams['i'])) { unset($queryParams['i']);};
    if (!empty($queryParams)) {
        $newQString = http_build_query($queryParams);
        $url .= '?' . $newQString;
    }
    header("Location: $url");
    exit();
}
?>

@Gazmos
Hello, thank you for your support,
Please explain the steps to do that for wordpress websites in terms of the file name for the code and the path of this file and so on.
Best regards

I’m not sure if the system keeps a log of who passed the test server side, so the parameter is how the system knows you passed. If you remove it, a redirect is required which would trigger the security system and add it back in again.

5 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.