Mam gdzieś zniekształcony link, który kieruje ludzi do mojej mapy witryny, ale do adresu URL
www.example.com/sitemap.php""abc def
itp. To następnie przedstawia im zepsute linki.
Podczas wyszukiwania złego linku, napisałem 301 tak, aby cały ruch na stronie był 301ed i oczyszczony:
RedirectMatch 301 ^sitemap.php(.*) http://www.example.com/sitemap.php
Ale to daje mi "zbyt wiele 301s" błędówponieważ witryna.com/sitemap.php pasuje do wyrażenia i zostaje zapętlona. Czy istnieje wyrażenie regularne, którego mogę używać zamiast (. *), Które nie będzie pasować, jeśli w ogóle nic nie ma (np. Czy adres URL kończy się na ".php"?
Odpowiedzi:
1 dla odpowiedzi № 1Po prostu skorzystaj z tej reguły:
RedirectMatch 301 ^/(sitemap.php).+ /$1
I wyczyść pamięć podręczną przeglądarki. Zwróć uwagę na użycie .+
(1 lub więcej dowolnych znaków) zamiast .*
(0 lub więcej znaków)