/ / htaccess redirectmatch редовен израз, за ​​да се избегне безкраен цикъл - regex, .htaccess, пренасочване

htaccess redirectmatch регулярен израз, за ​​да се избегне безкраен цикъл - regex, .htaccess, redirect

Някъде имам неправилно оформена връзка, която изпраща хората до моята карта на сайта, но до URL като

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

Тогава ги представя с прекъснати връзки.

Докато преглеждам лошата връзка, написах 301 като този, за да направя целия трафик към страницата 301ed и почистен:

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

Но това ми дава грешки "твърде много 301s"тъй като site.com/sitemap.php съответства на израза и той става цикличен. Има ли редовен израз, който мога да използвам вместо (. *), Който няма да съвпада, ако изобщо няма нищо (т.е. ако URL адресът просто завършва с ".php"?

Отговори:

1 за отговор № 1

Просто използвайте това правило:

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

И изчистете кеша на браузъра си. Забележете използването на .+ (1 или повече от всеки знак) вместо .* (0 или повече знака)