Files
krk-litvinov.cz/.htaccess
Jan Tojnar e89a44c4f8 Use REQUEST_URI for route matching
This will simplify the .htaccess/nginx config.
2022-01-19 19:05:41 +01:00

76 lines
2.7 KiB
ApacheConf

ErrorDocument 404 /krk/index.php
### 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=mcr_2009/probihani_loucna/probihani_loucna&
RewriteRule .* /krk/mcr_2009/probihani_loucna/ [R=301,QSD,L]
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=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]
### Load files in pages/
RewriteCond %{REQUEST_URI} ^/krk/(.+)$
RewriteCond %{DOCUMENT_ROOT}/krk/pages/%1 -f
RewriteRule ^(.*)$ /krk/pages/$1 [END]
### 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]
RewriteRule ^pages(/.*)$ /krk$1 [R=301,L,nosubreq]
### Fall back to loading pages through our “CMS”
RewriteCond %{REQUEST_URI} !^/pages/
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-d
RewriteRule ^(en|de)/$ /krk/index.php [END]
RewriteRule ^(en|de)/(.+)\.html$ /krk/index.php [END]
RewriteRule ^(.+)\.html$ /krk/index.php [END]
RewriteRule ^(en|de)/(.+)/$ /krk/index.php [END]
RewriteRule ^(.+/)$ /krk/index.php [END]