Project

General

Profile

1 7876 aaronmk
#### URL resolution
2
3 8055 aaronmk
Options +FollowSymLinks
4
5 7889 aaronmk
DirectorySlash on
6 7949 aaronmk
DirectoryIndex index.php
7 7876 aaronmk
8
### mod_rewrite
9
10 7878 aaronmk
RewriteEngine on
11 8010 aaronmk
RewriteOptions inherit
12 7876 aaronmk
13 7959 aaronmk
# remove www subdomain
14
RewriteCond %{HTTP_HOST} ^www\.(.*)$
15 8013 aaronmk
RewriteRule ^.*$ http://%1/$0 [discardpath,noescape,last]
16 7959 aaronmk
17 8178 aaronmk
# remove linewraps used to create a newline for Google spreadsheets
18
RewriteRule ^_-(.*)$ /$1 [discardpath,noescape,last,redirect]
19
20 7987 aaronmk
# translate subdomain to path
21 8022 aaronmk
RewriteCond %{HTTP_HOST} !=vegbiendev.nceas.ucsb.edu
22
RewriteCond %{HTTP_HOST} ^(.*)\.([^.]*\.[^.]*)$
23
RewriteRule ^.*$ http://%2/${subdomain2path:%1}/$0 [discardpath,noescape,last]
24 7987 aaronmk
25 8035 aaronmk
# use separate lowercase version when available
26
RewriteCond %{DOCUMENT_ROOT}/$1 !-d
27 8058 aaronmk
RewriteCond .${tolower:$1} ^.*$
28 8057 aaronmk
RewriteCond %{DOCUMENT_ROOT}/%0 -d
29
RewriteRule ^([^/]*)(/.*)$ %0$2 [discardpath,noescape]
30 8035 aaronmk
31 8363 aaronmk
# parse dotpath in the query string
32
RewriteRule ^dotpath - [discardpath,noescape,last]
33
RewriteCond %{QUERY_STRING} ^(?!&).+$
34
RewriteRule ^.*$ /dotpath.php%{REQUEST_URI} [discardpath,noescape,last]
35 7997 aaronmk
36 8041 aaronmk
# don't redirect subdir paths
37 8060 aaronmk
RewriteCond %{DOCUMENT_ROOT}/$1 -d
38 8045 aaronmk
RewriteRule ^([^/]+).*$ - [discardpath,noescape,last]
39 8041 aaronmk
40 8363 aaronmk
# don't rewrite existing paths
41
RewriteCond %{REQUEST_FILENAME} -d [ornext]
42
RewriteCond %{REQUEST_FILENAME} -f
43
RewriteRule ^.*$ - [discardpath,noescape,last]
44 8041 aaronmk
45
## specific to /
46
47 8363 aaronmk
RewriteRule ^.*$ https://projects.nceas.ucsb.edu/nceas/projects/bien/wiki/VegCore#$0 [discardpath,noescape,last]