Jump to content
Froxlor Forum
  • 0

[solved] Rewrite Rules nginx/1.2.1 index.php?go=XXX nach XXX.php


Schutzgeist

Question

Hallo, 

 

in diesem Fall ist es mehr ein nginx + vhost-Problem. 
Habe bisher allerdings keine Hilfe diesbez?glich gefunden und vielleicht kann mir hier ja jemand n guten Tipp geben. 

Meine Webseiten werden teilweise im Format  http://www.forExample.org/index.php?go=download angezeigt, urspr?nglich war die Ausgangsurl bzw Endung  jedoch  http://www.forExample.org/download.php
 

Bis auf die index.php datei sind alle anderen Datien mit der Endung .inc  wie zum Beispiel.  download.inc.


Meine index.php sieht diesbez?glich wie folgt aus 

 

<?
while (list ($var, $value) = each ($_REQUEST))
$$var = $value;


if(!isset($go))
$go = "index";
if(file_exists("$go.inc"))
include("$go.inc");
else
include("index.inc");

 

Mit Apache und .htaccess hat es auch geklappt 

 

Ich habe meine jeweilige vhost.conf  mit  folgenden Lines getestet: 

rewrite ^/.php/([^/\.]+)/?$ /index.php?page=$1 break;
rewrite ^/(.*)\.php$ /?go=$1 redirect;
rewrite ^/(.*).php$ /?go=$1;
rewrite ([^index]+)\.php /index.php?go=$1 break;
rewrite ('/^([^index]+)\.php$ /?go=$1 break;
rewrite ([^index]+)\.php /index.php?go=$1 break;

jedoch ohne Erfolg. 

Auch nicht mit folgendem  location-Blog

location ~ \index.php?go=$ {
if (!-f $request_filename) {
rewrite ^(.*)\?go=$ $1.php permanent; }
}

Bevor R?ckfragen kommen, ich habe nicht ALLE Zeilen gleichzeitig eingef?gt ;) 


Der Rest meiner vHost-Datei ist "normale" so wie sie Froxlor erstellt(nach Umstelllung auf nginX.

 

 

 

server {
listen 85.xx.243.xx:80;
server_name censored.de *.censored.de;
access_log /var/customers/logs/censored-access.log combined;
error_log /var/customers/logs/censored-error.log error;
root /var/customers/webs/censored/;
location / {
index index.php index.html index.htm;
try_files $uri $uri/ @rewrites;
}
location @rewrites {
rewrite ^ /index.php last;
}
location /webalizer {
alias /var/customers/webs/censored/webalizer/censored.de/;
auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/froxlor-htpasswd/8-75284aa9bcc4cec762fa3e432cc.htpasswd;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/nginx/censored.de-php-fpm.socket;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}

 

 

Dei Rewrite rules habe ich an unterschiedlichen Stellen zum Einsatz gebracht und teilweise auch mal andere rewriterules ?berschrieben. 
Auf Gl?ck gehofft und wurde verlassen ;) 

 

Vielleicht hat hier jemand ein guten Tipp. 

BTW. Sollte es ne L?sung geben, kann ich die entsprechende Regel unter Froxlor dann als eigene Vhost-ERg?nzung hinzuf?gen ? 

 

 

Danke.

 

 

 
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

Als Erstes: .inc als Endung ist gef?hrlich denn diese k?nnen direkt im browser aufgeruen werden und der Quellcode wird angezeigt. Der Webserver parsed .inc dateien nicht als PHP!!!

 

Nummer Zwei: sowas hier k?nnte klappen (ohne Garantie):

location / {
  rewrite ^/([a-z0-9\_\.]+).php$ /index.php?go=$1 break;
}
Link to comment
Share on other sites

 

Als Erstes: .inc als Endung ist gef?hrlich denn diese k?nnen direkt im browser aufgeruen werden und der Quellcode wird angezeigt. Der Webserver parsed .inc dateien nicht als PHP!!!

 

Nummer Zwei: sowas hier k?nnte klappen (ohne Garantie):

location / {
  rewrite ^/([a-z0-9\_\.]+).php$ /index.php?go=$1 break;
}

 

 

Danke f?r die Warnung. ,inc habe ich nur tempor?r gesetzt, da ich mit meinen Umleitungsversuchen ab und an mal n loop erstellt habe. Lag aber  an den fehlenden Abbruchbedingungen. 

Um Fehler zu vermeiden habe ich alles umgestellt.

 

rewrite ^/([a-z0-9\_\.\-\A-Z]+).php$ /index.php?go=$1 break;
hat super geklappt. 

Thx!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...