В моем файле .htaccess у меня есть несколько перенаправлений 301.
Следующая строка отлично работает:
RewriteRule ^sub1/ https://example.com/sub1 [L,R=301]
Однако, если есть другой / in url, страница не будетбудет перенаправлен правильно.
RewriteRule ^sub1/sub2/ https://www.example.com/sub [L,R=301]
Это закончится на example.com/sub1/sub2/, хотя он загружает страницу example.com/sub1, так как ничего не делает с /sub2.
Как заставить принудительно переписать URL?
РЕДАКТИРОВАТЬ У меня также есть несколько строк для удаления .php в .htaccess, которые могут вызывать это:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]