Forum Moderators: phranque
RewriteCond %{HTTP_HOST} !^www\.[^.:]+\.(co\.[a-z]{2}|[a-z]{2,6})\.?(:[0-9]+)?$
RewriteRule ^(de|en)$ http://www.%{HTTP_HOST}/$1/ [R=301,L]
#RewriteCond %{HTTP_HOST} ^www\.[^.:]+\.(co\.[a-z]{2}|[a-z]{2,6})\.?(:[0-9]+)?$
#RewriteRule ^(de|en)$ http://%{HTTP_HOST}/$1/ [R=301,L]
RewriteRule ^(de|en)/(index\.php)?$ index.php?language=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(de|en)/(.*)$ $2?language=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(de|en)/(.*)$ $2 [L]
RewriteCond %{HTTP_HOST} !^www\.[^.:]+\.(co\.[a-z]{2}|[a-z]{2,6})\.?(:[0-9]+)?$
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]
[edited by: jdMorgan at 3:37 pm (utc) on May 9, 2010]
[edit reason] De-linked. Please use example.com [/edit]
RewriteCond %{HTTP_HOST} !^www\.[^.:]+\.([a-z]{2,6})\.?(:[0-9]+)?$
RewriteRule ^(de|en)$ [%{HTTP_HOST}...] [R=301,L]
RewriteCond %{HTTP_HOST} !^www\.[^.:]+\.([a-z]{2,6})\.?(:[0-9]+)?$
RewriteRule (.*) [%{HTTP_HOST}...] [R=301,L]
RewriteRule ^(de|en)/(index\.php)?$ index.php?language=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(de|en)/(.*)$ $2?language=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(de|en)/(.*)$ $2 [L]
RewriteRule ^(de|en)$ http://www.%{HTTP_HOST}/$1/ [R=301,L]
#
RewriteCond %{HTTP_HOST} !^(www\.[^.:]+\.([a-z]{2,6})\.?(:[0-9]+)?)?$
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
#
RewriteRule ^(de|en)/(index\.php)?$ index.php?language=$1 [QSA,L]
#
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(de|en)/(.+)$ /$2?language=$1 [QSA,L]
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(de|en)/(.+)$ /$2 [L]
RewriteCond $2 !\.(gif|jpe?g|png|ico|css|js)$
RewriteRule ^(de|en)$ [%{HTTP_HOST}...] [R=301,L]
#
RewriteCond %{HTTP_HOST} !^(www\.[^.:]+\.([a-z]{2,6})\.?(:[0-9]+)?)?$
RewriteRule ^(.*)$ [%{HTTP_HOST}...] [R=301,L]
#
RewriteRule ^(de|en)/(index\.php)?$ index.php?language=$1 [QSA,L]
#
#RewriteCond %{REQUEST_FILENAME} !-d
#Only rewrite PHP-Scripts
RewriteCond $2 !\.php$
RewriteRule ^(de|en)/(.+)$ /$2?language=$1 [QSA,L]
#
#RewriteCond %{REQUEST_FILENAME} !-f
#Only rewrite PHP-Scripts
RewriteCond $2 !\.php$
RewriteRule ^(de|en)/(.+)$ /$2 [L]
#1)Rewrite www.domain.com/<language> to www.domain.com/<language>/ -> No, it's not for this case, what does this rule exactly do?
RewriteCond %{HTTP_HOST} ^(www\.[^.:]+\.([a-z]{2,6})\.?(:[0-9]+)?)?$
RewriteRule ^(de|en)$ http://%{HTTP_HOST}/$1/ [R=301,L]
#
#2)Following rule is incorrect, double www. --> www.www.domain.com
#RewriteCond %{HTTP_HOST} !^(www\.[^.:]+\.([a-z]{2,6})\.?(:[0-9]+)?)?$
#RewriteRule ^(de|en)$ http://www.%{HTTP_HOST}/$1/ [R=301,L]
#
#3)Add www. subdomain to requests without www.
#IMPORTANT: What about GET-paramters? QSA-flag? OK: NO QSA-flag, because we don't change any GET-paramters
RewriteCond %{HTTP_HOST} !^(www\.[^.:]+\.([a-z]{2,6})\.?(:[0-9]+)?)?$
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
#
#4)If request contains automatically <language> caption, then rewrite to save the language
#IMPORTANT: Maybe also other filenames next to index.php are possible --> The following rule exactly does this
RewriteRule ^(de|en)/(index\.php)?$ index.php?language=$1 [QSA,L]
#
#5)
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^(de|en)/(.+)$ /$2?language=$1 [QSA,L]
#
#6)
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule ^(de|en)/(.+)$ /$2 [L]
#
#7)
#If requested file is a php-file, then forward to the corresponding <language>/<file>
#IMPORTANT: check behavoir when file not exists, error404 page or not?
RewriteCond $2 ^\.php$
RewriteRule ^(de|en)/(.+)$ /$2?language=$1 [QSA,L]
[edited by: jdMorgan at 3:02 pm (utc) on May 12, 2010]
[edit reason] Disabled auto-linking for readability [/edit]
#5
RewriteCond $2 !\.(gif|jpe?g|png|ico|css|js)$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(de|en)/(.+)$ /$2?language=$1 [QSA,L]
#
#6
RewriteCond $2 !\.(gif|jpe?g|png|ico|css|js)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(de|en)/(.+)$ /$2 [L]
RewriteCond $2 \.php$
#Adds trailing slash: www.domain.com/<language> --> www.domain.com/<language>/
RewriteCond %{HTTP_HOST} ^(www\.[^.:]+\.([a-z]{2,6})\.?(:[0-9]+)?)?$
RewriteRule ^(de|en)$ [%{HTTP_HOST}...] [R=301,L]
#Adds the www-subdomain
RewriteCond %{HTTP_HOST} !^(www\.[^.:]+\.([a-z]{2,6})\.?(:[0-9]+)?)?$
RewriteRule ^(.*)$ [%{HTTP_HOST}...] [R=301,L]
#If request contains already <language> caption, then rewrite to indicate the actual language
RewriteRule ^(de|en)/(index\.php)?$ index.php?language=$1 [QSA,L]
#5)
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^(de|en)/(.+)$ /$2?language=$1 [QSA,L]
#6)
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule ^(de|en)/(.+)$ /$2 [L]
#7)
#If requested file is a php-file, then forward to the corresponding <language>/<file>
#IMPORTANT: check behavoir when file not exists, error404 page or not?
#RewriteCond $2 ^\.php$ #FALSE statement
RewriteCond $2 \.php$
RewriteRule ^(de|en)/(.+)$ /$2?language=$1 [QSA,L]