/ / Składnia RedirectMatch w celu uproszczenia tych wpisów - .htaccess, przekierowanie

Składnia RedirectMatch w celu uproszczenia tych wpisów - .htaccess, przekierowanie

Chcę przyciąć moje przekierowania, gdy mam do czynienia ze starymi podfolderami i możliwymi iteracjami, do których prowadzą linki. W tej chwili robię to:

RedirectMatch 301 (?i)/old-sub-folder/index.html$ https://www.website.com/new-place/
RedirectMatch 301 (?i)/old-sub-folder/$ https://www.website.com/new-place/
RedirectMatch 301 (?i)/old-sub-folder$ https://www.website.com/new-place/

Jest to ta sama strona, ale jeśli nie dodam tutaj każdej wersji, przejdziemy do strony 404. Czy istnieje sposób na połączenie tego w jedną linię?

Odpowiedzi:

0 dla odpowiedzi № 1

Według Apache - wyrażenie regularne (Regex),

Apache używa wyrażeń regularnych zgodnych z Perlem dostarczanych przez PCRE biblioteka.

Oznacza to, że możesz zbudować wyrażenie regularne ze wspólnym przedrostkiem /old-sub-folder i opcjonalna część końcowa (?:/|/index.html)?, np.

RedirectMatch 301 (?i)/old-sub-folder(?:/|/index.html)?$ https://www.website.com/new-place/

Chociaż nie jestem pewien, czy to rzeczywiście poprawa. Posiadanie trzech oddzielnych prostych wyrażeń regularnych może być bardziej czytelne (i możliwe do utrzymania) niż jedno bardziej złożone wyrażenie.