Правило .htaccess требуется небольшая помощь - PullRequest
1 голос
/ 14 февраля 2020

Я часами пытался понять это правило правильно, и я действительно борюсь. Я так близко, но я не могу понять это правильно. Любая помощь приветствуется ... Спасибо #

Попытка удалить ненужные сегменты в URL. Из этого:

https://example.com/index.php/module/action/param1/static/PFBC/js/jquery/rss/static/css/js/jquery/smoothness/templates/themes/datelove/img/icon/xml/sitemap/user/help/rss/legal/rss/comment-picture

На это:

https://example.com/comment-picture

Сегменты являются случайными по имени и количеству, это правила Пока у меня есть

RewriteEngine on

RewriteCond %{REQUEST_URI} (\^|~|`|<|>|,|%|\\|\{|\}|\[|\]|\|)/ [NC]

RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

Это почти работает, но мне нужно оставить последний сегмент, это правило дает новый URL-адрес

The new url is https://example.com/ Test are stopped, a redirect will be made with status code 301

Что необходимо, чтобы покинуть последний сегмент?

Я становлюсь ближе

RewriteCond %{REQUEST_URI} (^https:.*?com|\/[\w+-]+$) ~gm [NC]

RewriteRule ^https:.*?com|\/(.*)[\w+-]+$(.*) $2 [R=301,L]

Дает мне

https://example.com/index.php

Таким образом, вы выбираете неправильную часть URL, но становитесь ближе!

Ответы [ 2 ]

2 голосов
/ 15 февраля 2020

Это правильный ответ, и я sh Я мог бы взять кредит на себя, но я не могу

RewriteEngine On

RewriteRule ^index\.php/module/action/param1/.*/(.*+)$ /$1 [L,R=301]

Это работа рода, я попросил его совета после прихода через очень хороший инструмент, который он создал. RewriteRule_Generator

1 голос
/ 14 февраля 2020

Приведенный ниже код даст 2 строки, которые вы ищете.

(^https:.*?com|\/[\w+-]+$)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...