/ / htaccess presmeruje regulárny výraz, aby sa zabránilo nekonečnej slučke - regex, .htaccess, presmerovanie

htaccess redirectmatch regulárny výraz, aby sa zabránilo nekonečnej slučke - regex, .htaccess, redirect

Mám niekde chybný odkaz, ktorý ľudí posiela na môj súbor Sitemap, ale napríklad na webovú adresu

www.example.com/sitemap.php""abc def

To im potom poskytne nefunkčné odkazy.

Zatiaľ čo som zháňal zlý odkaz, napísal som 301, ako je tento, aby všetka prevádzka na stránku bola vymazaná a vyčistená:

RedirectMatch 301 ^sitemap.php(.*) http://www.example.com/sitemap.php

Ale toto mi dáva „príliš veľa 301 s“ chýbpretože site.com/sitemap.php sa zhoduje s výrazom a dostane sa do slučky. Existuje regulárny výraz, ktorý môžem použiť namiesto (. *), Ktorý sa nezhoduje, ak vôbec neexistuje (tj ak adresa URL končí „.php“?

odpovede:

1 pre odpoveď č. 1

Použite toto pravidlo:

RedirectMatch 301 ^/(sitemap.php).+ /$1

A vymažte vyrovnávaciu pamäť prehliadača. Poznámka: použitie .+ (1 alebo viac znakov) namiesto .* (0 alebo viac znakov)