Opencart how can i remove query in seo link

<?php
namespace OpencartCatalogControllerStartup;
/**
 * Class SeoUrl
 *
 * @package OpencartCatalogControllerStartup
 */
class SeoUrl extends OpencartSystemEngineController {
    /**
     * @return void
     */
    public function index(): void {
        if ($this->config->get('config_seo_url')) {
            $this->url->addRewrite($this);
    
            $this->load->model('design/seo_url');
    
            if (isset($this->request->get['_route_'])) {
                $parts = explode('/', $this->request->get['_route_']);
    
                // remove any empty arrays from trailing
                if (oc_strlen(end($parts)) == 0) {
                    array_pop($parts);
                }
    
                foreach ($parts as $part) {
                    $seo_url_info = $this->model_design_seo_url->getSeoUrlByKeyword($part);
    
                    if ($seo_url_info) {
                        $this->request->get[$seo_url_info['key']] = html_entity_decode($seo_url_info['value'], ENT_QUOTES, 'UTF-8');
                    }
                }
            }
        }
    }
    

    /**
     * @param string $link
     *
     * @return string
     */
    public function rewrite(string $link): string {
        $url_info = parse_url(str_replace('&amp;', '&', $link));
    
        $url = $url_info['scheme'] . '://' . $url_info['host'];
    
        if (isset($url_info['port'])) {
            $url .= ':' . $url_info['port'];
        }
    
        parse_str($url_info['query'], $query);
    
        $this->load->model('design/seo_url');
    
        $paths = [];
    
        // Dil parametresini sakla
        $language = '';
        if (isset($query['language'])) {
            $language = $query['language'];
            unset($query['language']);
        }
    
        // Eğer route varsa ilk olarak onu işleyelim
        if (isset($query['route'])) {
            $route = $query['route'];
    
            $result = $this->model_design_seo_url->getSeoUrlByKeyValue('route', $route);
    
            if ($result) {
                $paths[] = $result;
                unset($query['route']);
            }
        }
    
        // Diğer parametreleri işle (product_id, search vs.)
        foreach ($query as $key => $value) {
            $result = $this->model_design_seo_url->getSeoUrlByKeyValue((string)$key, (string)$value);
    
            if ($result) {
                $paths[] = $result;
                unset($query[$key]);
            }
        }
    
        // Sıralama
        usort($paths, fn($a, $b) => $a['sort_order'] <=> $b['sort_order']);
    
        $url .= str_replace('/index.php', '', $url_info['path']);
    
        foreach ($paths as $result) {
            $url .= '/' . $result['keyword'];
        }
    
        // Dil parametresini ekle
        if ($language) {
            $query['language'] = $language;
        }
    
        // Kalan query'leri ekle
        if ($query) {
            $url .= '?' . http_build_query($query);
        }
    
        return $url;
    }
}
##
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE!
#
# 1.To use URL Alias you need to be running apache with mod_rewrite enabled.
# 2. In your opencart directory rename .htaccess.txt (this file) to .htaccess
#
# For any support issues please visit: https://www.opencart.com
#
# The line 'Options +FollowSymLinks' may cause problems with some server configurations.
# It is required for the use of Apache mod_rewrite, but it may have already been set by
# your server administrator in a way that disallows changing it in this .htaccess file.
# If you encounter problems (e.g. site is not loading), comment out this line by adding a # in front
# FLOC is a feature suggested by Google, if this header shall not be set, disable the line
# having 'interest-cohort' by adding a # in front
##

## No directory listings
<IfModule mod_autoindex.c>
  IndexIgnore *
</IfModule>

## No-Referrer-Header
<IfModule mod_headers.c>
  Header set Referrer-Policy "no-referrer"
</IfModule>

## Suppress mime type detection in browsers for unknown types and prevent FLOC
<IfModule mod_headers.c>
  Header always set X-Content-Type-Options "nosniff"
  Header always set Permissions-Policy "interest-cohort=()"
</IfModule>

## Can be commented out if causes errors, see notes above.
Options +FollowSymlinks

## Prevent Directory listing
Options -Indexes

## Prevent Direct Access to files
<FilesMatch "(?i)((.tpl|.twig|.ini|.log|(?<!robots).txt))">
 Require all denied
## For apache 2.2 and older, replace "Require all denied" with these two lines :
# Order deny,allow
# Deny from all
</FilesMatch>

## SEO URL Settings
RewriteEngine On
## If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/
RewriteBase /upload/
## Rewrite Rules
RewriteRule ^system/storage/(.*) index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*.(ico|gif|jpg|jpeg|png|webp|js|css|svg)
RewriteRule ^(.*)$ index.php?_route_=$1 [L,QSA]

## Optional error documents
#ErrorDocument 400 /index.php?route=error/not_found
#ErrorDocument 401 /index.php?route=error/permission
#ErrorDocument 403 /index.php?route=error/not_found
#ErrorDocument 404 /index.php?route=error/not_found
#ErrorDocument 500 /index.php?route=error/not_found
#ErrorDocument 503 /index.php?route=error/not_found

## Additional Settings that may need to be enabled for some servers
## Uncomment the commands by removing the # sign in front of it.
## If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.

# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
# php_flag register_globals off

# 2. If your cart has magic quotes enabled, This may work to disable it:
# php_flag magic_quotes_gpc Off

# 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
# php_value upload_max_filesize 999M

# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value post_max_size 999M

# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_execution_time 200

# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_input_time 200

# 7. disable open_basedir limitations
# php_admin_value open_basedir none

when i activate seo urls on admin panel. http://localhost/upload/koltuk-takimlari?route=product%2Fcategory always links coming this type. but i want to remove this part from url ?route=product%2Fcategory . I tried to ask gpt and claude and cursor but it didnt work . please help me

I tried to ask chatgpt but it didnt work