Hey guys!
i have following htaccess but now i need it for nginx
can some one convert it correct to nginx so that ther are no security
risks?
ErrorDocument 404 /404.html
AddDefaultCharset utf-8
AddCharset utf-8 .html .php .css
Options FollowSymLinks
AddHandler application/x-httpd-php .html
<FilesMatch “.(htm|html|php)$”>
AddDefaultCharset UTF-8
php_value auto_prepend_file
/home/webpages/lima-city/deineagentur/html/DeineAgentur/zip_output_header.php
RewriteEngine On
RewriteCond %{HTTP_HOST} !^oceangame.deineagentur.com$ [NC]
RewriteRule ^(.*)$ http://oceangame.deineagentur.com/$1 [L,R=301]
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK|OPTIONS|HEAD)$ [NC]
RewriteRule ^.*$ - [L,F]
####################
URI redirections
####################
Move to www.example.com (we don’t wanna serve this page without the
subdomain www)
RewriteCond %{HTTP_HOST} !^oceangame.deineagentur.com [NC]
RewriteRule ^.*$ http://oceangame.deineagentur.com%{REQUEST_URI}
[L,NC,R=301]
If so, then load language defined by cookie
RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{HTTP_COOKIE} lang=([a-z]{2})
RewriteRule ^.*$ /%1 [L,NC,QSA,R=301]
Add a trailing slash to the request uri if /de was requested without
one
RewriteCond %{REQUEST_URI} ^/(de|en|fr|es|it)$
RewriteRule ^.*$ /%1/ [L,NC,QSA,R=301]
####################################
Request the appropriate language
####################################
German
RewriteCond %{REQUEST_URI} ^/de(/)?$
RewriteRule ^de/?.*$ /system.php?og__site=index
[L,NC,QSA,E=LANGNAME:de,E=SYSTEM:portal]
RewriteCond %{REQUEST_URI} ^/de/([a-z]+).html$
RewriteRule ^de/([a-z]+).html$ /system.php?og__site=$1
[L,NC,QSA,E=LANGNAME:de,E=SYSTEM:portal]
English
RewriteCond %{REQUEST_URI} ^/en(/)?$
RewriteRule ^en/?.*$ /system.php?og__site=index
[L,NC,QSA,E=LANGNAME:en,E=SYSTEM:portal]
RewriteCond %{REQUEST_URI} ^/en/([a-z]+).html$
RewriteRule ^en/([a-z]+).html$ /system.php?og__site=$1
[L,NC,QSA,E=LANGNAME:en,E=SYSTEM:portal]
French
RewriteCond %{REQUEST_URI} ^/fr(/)?$
RewriteRule ^fr/?.*$ /system.php?og__site=index
[L,NC,QSA,E=LANGNAME:fr,E=SYSTEM:portal]
RewriteCond %{REQUEST_URI} ^/fr/([a-z]+).html$
RewriteRule ^fr/([a-z]+).html$ /system.php?og__site=$1
[L,NC,QSA,E=LANGNAME:fr,E=SYSTEM:portal]
Spain
RewriteCond %{REQUEST_URI} ^/es(/)?$
RewriteRule ^es/?.*$ /system.php?og__site=index
[L,NC,QSA,E=LANGNAME:es,E=SYSTEM:portal]
RewriteCond %{REQUEST_URI} ^/es/([a-z]+).html$
RewriteRule ^es/([a-z]+).html$ /system.php?og__site=$1
[L,NC,QSA,E=LANGNAME:es,E=SYSTEM:portal]
Italian
RewriteCond %{REQUEST_URI} ^/it(/)?$
RewriteRule ^it/?.*$ /system.php?og__site=index
[L,NC,QSA,E=LANGNAME:it,E=SYSTEM:portal]
RewriteCond %{REQUEST_URI} ^/it/([a-z]+).html$
RewriteRule ^it/([a-z]+).html$ /system.php?og__site=$1
[L,NC,QSA,E=LANGNAME:it,E=SYSTEM:portal]
########################
Serving normal files
########################
Request language specific sitemap.xml
RewriteCond %{REQUEST_URI} ^/(de|en|fr|es|it)/sitemap.xml$
RewriteRule ^(de|en|fr|es|it)/.*$ /sitemap_$1.xml [L,NC]
Request normal files like images or style sheets
RewriteCond %{IS_SUBREQ} false
RewriteRule ^(?:de|en|fr|es|it)/(.*)$ /$1 [L,NC,QSA,R=301]
Move to index.php if the requested file doesn’t exist
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ http://oceangame.deineagentur.com [L,NC,QSA,R=301]
Posted at Nginx Forum: