ich versuche mich gerade daran phpwcms mit rewrite auf einem Nginx Server zum laufen zu bekommen. Ich muss dazu sagen, Regex sind irgendwie nicht meins.
Folgendes habe ich versucht.
Der angeblich bequemste Weg http://winginx.com/en/htaccess
Nach einfügen von einem Leerzeichen nach ^ in der Original Rule
Code: Select all
RewriteEngine on
RewriteBase /
RewriteRule ^ (track|include|img|template|picture|filearchive|content|robots\.txt|favicon\.ico)($|/) - [L]
RewriteRule ^ index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ ([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.html$ /index.php?id=$1,$2,$3,$4,$5,$6&%{QUERY_STRING}
RewriteRule ^ (.+)\.html$ /index.php?$1&%{QUERY_STRING}
Code: Select all
location / {
rewrite ^(.*)$ /(track|include|img|template|picture|filearchive|content|robots\.txt|favicon\.ico)($|/) - break;
rewrite ^(.*)$ /index\.php$ - break;
if (!-e $request_filename){
rewrite ^(.*)$ /([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.html$ /index.php?id=$1,$2,$3,$4,$5,$6&$query_string;
}
rewrite ^(.*)$ /(.+)\.html$ /index.php?$1&$query_string;
}
Nach folgenden Änderungen
Code: Select all
location / {
rewrite ^(.*)$ /(track|include|img|template|picture|filearchive|content|robots\.txt|favicon\.ico) break;
rewrite ^(.*)$ /index\.php$ break;
if (!-e $request_filename){
rewrite ^(.*)$ /([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)\.html$ /index.php?id=$1,$2,$3,$4,$5,$6&$query_string;
rewrite ^(.*)$ /(.+)\.html$ /index.php?$1&$query_string;
}
}
Die vielen Beispiele über die Google Suche haben mich auch nicht viel weiter gebracht.
Außer das man das rewrite auch noch anders machen kann http://wiki.nginx.org/Pitfalls#Front_Co ... d_packages
Code: Select all
location / {
try_files $uri $uri/ index.php;
}
Code: Select all
2015/01/25 18:06:22 [error] 6327#0: *1 FastCGI sent in stderr: "PHP message: PHP Notice: Use of undefined constant Y - assumed 'Y' in /data/www/vhosts/default/public_html/include/inc_front/front.func.inc.php(2287) : eval()'d code on line 1" while reading response header from upstream, client: .....
2015/01/25 18:07:15 [error] 6327#0: *1 FastCGI sent in stderr: "Unable to open primary script: /data/www/vhosts/default/public_htmlindex.php (No such file or directory)" while reading response header from upstream, client: .....
Aber, hat jemand schon funktionierende Rules?
Es geht wirklich nur noch um die Rewrite Rules. Ordner/Dateien schützen, Fehlerseiten ausgeben etc. ist alles kein Problem und tut auch.
Grüße
Daniel