Skip to content
Snippets Groups Projects
.htaccess 3.63 KiB
Newer Older
Options -MultiViews

RewriteEngine on
DirectorySlash Off

# internal redirects for core

# redirects core to core/v3.1.1/core
RewriteRule  ^core$  /core/v3.1.1/core

# redirects core/example to core/v3.1.1/example
# redirects core/example/ to core/v3.1.1/example
RewriteRule  ^core/example/?$  /core/v3.1.1/example

# redirects core/v1.1.1 to core/v1.1.1/core
RewriteRule  ^core/v([0-9]+)\.([0-9]+)\.([0-9]+)/?$  /core/v$1.$2.$3/core

# redirects core/v1.1.1.ttl to core/v1.1.1/core.ttl
RewriteRule  ^core/v([0-9]+)\.([0-9]+)\.([0-9]+)\.([^\./]+)$  /core/v$1.$2.$3/core.$4 [R=302,NE]

# redirects core.ttl to core/v3.1.1/core.ttl
RewriteRule  ^core\.([^\./]*)$  /core/v3.1.1/core.$1 [R=302,NE]


# internal redirects for sarefabcd

# redirects saref4ener to saref4ener/latest/saref4ener
RewriteRule  ^(saref[^\./]*)$  /$1/latest/$1

# redirects saref4ener/latest to saref4ener/latest/saref4ener
# redirects saref4ener/latest/ to saref4ener/latest/saref4ener
RewriteRule  ^(saref[^\./]*)/latest/?$  /$1/latest/$1

# redirects saref4ener/example to saref4ener/latest/example
# redirects saref4ener/example/ to saref4ener/latest/example
RewriteRule  ^(saref[^\./]*)/example/?$  /$1/latest/example

# redirects saref4ener/v1.1.1 to saref4ener/v1.1.1/saref4ener
# redirects saref4ener/v1.1.1/ to saref4ener/v1.1.1/saref4ener
RewriteRule  ^(saref[^\./]*)/v([0-9]+)\.([0-9]+)\.([0-9]+)/?$  /$1/v$2.$3.$4/$1

# redirects saref4ener/latest.ttl to saref4ener/latest/saref4ener.ttl
RewriteRule  ^(saref[^\./]*)/latest\.([^\./]+)$  /$1/latest/$1.$2 [R=302,NE]

# redirects saref4ener/v1.1.1.ttl to saref4ener/v1.1.1/saref4ener.ttl
RewriteRule  ^(saref[^\./]*)/v([0-9]+)\.([0-9]+)\.([0-9]+)\.([^\./]+)$  /$1/v$2.$3.$4/$1.$5 [R=302,NE]

# redirects saref4ener.ttl to saref4ener/latest/saref4ener.ttl
RewriteRule  ^(saref[^\./]*)\.([^\./]*)$  /$1/latest/$1.$2 [R=302,NE]


# Main

# internal redirects for core

# redirects core/bbb/core to core/bbb/core.html
RewriteCond %{HTTP_ACCEPT} !(application/rdf\+xml|text/turtle|text/n3)
RewriteRule  ^core/([^/]+)/core$  /core/$1/core.html [R=302,NE]

# redirects core/bbb/core to core/bbb/core.rdf
RewriteCond %{HTTP_ACCEPT} application/rdf\+xml
RewriteRule  ^core/([^/]+)/core$  /core/$1/core.rdf [R=302,NE]

# redirects core/bbb/core to core/bbb/core.ttl
RewriteCond %{HTTP_ACCEPT} text/turtle
RewriteRule  ^core/([^/]+)/core$  /core/$1/core.ttl [R=302,NE]

# redirects core/bbb/core to core/bbb/core.n3
RewriteCond %{HTTP_ACCEPT} text/n3
RewriteRule  ^core/([^/]+)/core$  /core/$1/core.n3 [R=302,NE]



# internal redirects for sarefabcd

# redirects sarefaaa/bbb/sarefccc to sarefaaa/bbb/sarefccc.html
RewriteCond %{HTTP_ACCEPT} !(application/rdf\+xml|text/turtle|text/n3)
RewriteRule  ^(saref[^\./]*)/([^/]+)/(saref[^\./]*)$  /$1/$2/$3.html [R=302,NE]

# redirects sarefaaa/bbb/sarefccc to sarefaaa/bbb/sarefccc.rdf
RewriteCond %{HTTP_ACCEPT} application/rdf\+xml
RewriteRule  ^(saref[^\./]*)/([^/]+)/(saref[^\./]*)$  /$1/$2/$3.rdf [R=302,NE]

# redirects sarefaaa/bbb/sarefccc to sarefaaa/bbb/sarefccc.ttl
RewriteCond %{HTTP_ACCEPT} text/turtle
RewriteRule  ^(saref[^\./]*)/([^/]+)/(saref[^\./]*)$  /$1/$2/$3.ttl [R=302,NE]

# redirects sarefaaa/bbb/sarefccc to sarefaaa/bbb/sarefccc.n3
RewriteCond %{HTTP_ACCEPT} text/n3
RewriteRule  ^(saref[^\./]*)/([^/]+)/(saref[^\./]*)$  /$1/$2/$3.n3 [R=302,NE]


# examples

# redirects core/bbb/example to core/bbb/example.ttl
RewriteRule  ^core/([^/]+)/example$  /core/$1/example.ttl [R=302,NE]


# redirects sarefaaa/bbb/example to sarefaaa/bbb/example.ttl
RewriteRule  ^(saref[^\./]*)/([^/]+)/example$  /$1/$2/example.ttl [R=302,NE]