Use better addressing scheme for old pages
The subsection indexes should be addressed as directories (URLs ending with a slash). Instead of the non-canonical `section.html` vs `section/section.html`. (Have not yet updated the links.) Also: - Moved the legacy redirects from index.php to .htaccess. - Made the test runner return 1 on failure and print number of failed tests. - Improve test failure message on missing expected redirect.
This commit is contained in:
62
.htaccess
62
.htaccess
@@ -1,17 +1,59 @@
|
||||
ErrorDocument 404 /index.php?page=404
|
||||
ErrorDocument 404 /404.html
|
||||
|
||||
# Redirect old URLs to new ones
|
||||
RewriteCond &%{QUERY_STRING} &lang=(cs|en|de) [NC]
|
||||
RewriteCond %1@&%{QUERY_STRING} (cs|en|de)@.*&page=([^&]+) [NC]
|
||||
RewriteRule ^((index|mainkrk|print)\.php)?(\?.*)?$ /krk/%1/%2.html [R=301,QSD,L,nosubreq]
|
||||
### Redirect old URLs to new ones
|
||||
## Subpages
|
||||
RewriteCond &%{QUERY_STRING}& &lang=(en|de)&
|
||||
RewriteCond %1@&%{QUERY_STRING}& (en|de)@.*&page=mcr_2009/mcr_2009&
|
||||
RewriteRule .* /krk/%1/mcr_2009/ [R=301,QSD,L]
|
||||
|
||||
RewriteCond &%{QUERY_STRING} &page=([^&]+) [NC]
|
||||
RewriteRule ^((index|mainkrk|print)\.php)?(\?.*)?$ /krk/%1.html [R=301,QSD,L,nosubreq]
|
||||
RewriteCond &%{QUERY_STRING}& &page=mcr_2009/probihani_loucna/probihani_loucna&
|
||||
RewriteRule .* /krk/mcr_2009/probihani_loucna/ [R=301,QSD,L]
|
||||
|
||||
RewriteCond &%{QUERY_STRING} &lang=(cs|en|de) [NC]
|
||||
RewriteRule ^((index|mainkrk|print)\.php)?(\?.*)?$ /krk/%1/ [R=301,QSD,L,nosubreq]
|
||||
RewriteCond &%{QUERY_STRING}& &lang=(en|de)&
|
||||
RewriteCond %1@&%{QUERY_STRING}& (en|de)@.*&page=mcr_2009(/mcr_2009)?&
|
||||
RewriteRule .* /krk/%1/mcr_2009/ [R=301,QSD,L]
|
||||
|
||||
# Canonization
|
||||
RewriteCond &%{QUERY_STRING}& &page=mcr_2009(/mcr_2009)?&
|
||||
RewriteRule .* /krk/mcr_2009/ [R=301,QSD,L]
|
||||
|
||||
RewriteCond &%{QUERY_STRING}& &lang=(en|de)&
|
||||
RewriteCond %1@&%{QUERY_STRING}& (en|de)@.*&page=clanky(/clanky)?&
|
||||
RewriteRule .* /krk/%1/clanky/ [R=301,QSD,L]
|
||||
|
||||
RewriteCond &%{QUERY_STRING}& &page=clanky(/clanky)?&
|
||||
RewriteRule .* /krk/clanky/ [R=301,QSD,L]
|
||||
|
||||
RewriteCond &%{QUERY_STRING}& &lang=(en|de)&
|
||||
RewriteCond %1@&%{QUERY_STRING}& (en|de)@.*&page=(krk_default)?&
|
||||
RewriteRule .* /krk/%1/ [R=301,QSD,L]
|
||||
|
||||
RewriteCond &%{QUERY_STRING}& &page=(krk_default)?&
|
||||
RewriteRule .* /krk/ [R=301,QSD,L]
|
||||
|
||||
## Generic fallback
|
||||
RewriteCond &%{QUERY_STRING}& &lang=(en|de)&
|
||||
RewriteCond %1@&%{QUERY_STRING}& (en|de)@.*&page=([^&]+)/&
|
||||
RewriteRule .* /krk/%1/%2/ [R=301,QSD,L,nosubreq]
|
||||
|
||||
RewriteCond &%{QUERY_STRING}& &lang=(en|de)&
|
||||
RewriteCond %1@&%{QUERY_STRING}& (en|de)@.*&page=([^&]+)&
|
||||
RewriteRule .* /krk/%1/%2.html [R=301,QSD,L,nosubreq]
|
||||
|
||||
RewriteCond &%{QUERY_STRING}& &page=([^&]+)/&
|
||||
RewriteRule .* /krk/%1/ [R=301,QSD,L,nosubreq]
|
||||
|
||||
RewriteCond &%{QUERY_STRING}& &page=([^&]+)&
|
||||
RewriteRule .* /krk/%1.html [R=301,QSD,L,nosubreq]
|
||||
|
||||
# No page selected
|
||||
RewriteCond &%{QUERY_STRING}& &lang=(en|de)&
|
||||
RewriteRule .* /krk/%1/ [R=301,QSD,L,nosubreq]
|
||||
|
||||
# No page selected
|
||||
RewriteCond &%{QUERY_STRING}& &lang=cs&
|
||||
RewriteRule .* /krk/ [R=301,QSD,L,nosubreq]
|
||||
|
||||
### Canonization
|
||||
RewriteRule ^cs(?:/(.*))?$ /krk/$1 [R=301,L]
|
||||
RewriteRule ^(en|de)$ /krk/$1/ [R=301,L]
|
||||
RewriteRule ^(mainkrk|index|print).php$ /krk/ [R=301,L]
|
||||
|
||||
Reference in New Issue
Block a user