Назад | Перейти на главную страницу

.HTACCESS - удалить часть url

Я использую в своей cms с предварительно определенным htaccess, как показано ниже:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?%{QUERY_STRING} [L]

Я хочу обновить URL-адрес, чтобы удалить 2 «подкаталога»:

из /en/top/solutions/?id=1 к /solutions/?id=1
из /en/top/about/?othervar=1 к /about/?othervar=1

это одна из вещей, которые я делал до сих пор:

RewriteRule ^en/top/ /$1 [L,R=301]  

Я не мог заставить его работать. Спасибо

В $1 означает «использовать первую часть исходного URL-адреса для захвата». Чтобы захватить часть исходного URL-адреса, вам нужно использовать круглые скобки, чтобы захватить его. Примерно так:

RewriteRule ^/en/top/(.*) /$1 [QSA]

Это означает "бери все, что начинается с /en/top/, затем запишите то, что следует, и поместите это в переменную $ 1. Перепишите только в переменную $ 1 и добавьте исходную строку запроса.