Kom ihåg mig?

Nginx: ta bort .php från URL

 
Ämnesverktyg Visningsalternativ
Oläst 2012-11-04, 15:22 #1
JesperA JesperA är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 214
JesperA JesperA är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 214
Standard Nginx: ta bort .php från URL

Tjenare!

Gick över från Apache - Nginx på dev servern idag man har lite problem, det enda jag vill göra är att ta bort .php från URL:er och ersätta med en / i slutet av URL:er.

Just nu fungerar allt som körs på index.php bra, bara till att gå till www.example.com så körs ju indexfilen som vanligt, men går man till www.example.com/about/ (www.example.com/about.php) så får jag bara meddelandet: "File not found.", direktnavigering till: www.example.com/about.php fungerar fint. Men ja, Nginx verkar inte skriva om URL:erna korrekt så då hittar den inte PHP filen, hur löser jag detta? Har testat varenda svar som hittades via Google sökningar men nepp, inget fungerar, ibland verkar det som om svaren utgår från att man kör något MVC liknande (som tex WordPress) som alltid utgår från att man kör från index.php och ibland kanske index.php{query_string}, det gör jag inte i just detta fallet, vill bara att den skall ta bort .php filändelsen.

Min Nginx config fil ser ut såhär:

PHP-kod:


server 
{


  
listen 51001# listen also for IPv4 traffic on "regular" IPv4 sockets

  
server_name kaka;

  
access_log  /var/log/nginx/$host.access.log;
  
error_log   /var/log/nginx/error.log;

  
root    /var/www/kaka;
  
index   index.php index.html;

  
## Block bad bots
  
if ($http_user_agent ~* (HTTrack|HTMLParser|libcurl|discobot|Exabot|Casper|kmccrew|plaNETWORK|RPT-HTTPClient)) {
    return 
444;
  }

  
## Block certain Referers (case insensitive)
  
if ($http_referer ~* (sex|vigra|viagra) ) {
    return 
444;
  }

  
## Deny dot files:
  
location ~ /\. {
    
deny all;
  }

  
## Favicon Not Found
  
location = /favicon.ico {
    
access_log off;
    
log_not_found off;
  }

  
## Robots.txt Not Found
  
location = /robots.txt {
    
access_log off;
    
log_not_found off;
  }

  
location / {
    
try_files $uri $uriindex.php;
    
rewrite ^(.+)/ /$1.php;
  }

  
location ~ \.php$ {
    include /
etc/nginx/fastcgi.conf;
    
fastcgi_pass unix:/var/run/php5-fpm.sock;
  }


  
### NginX Status
  
location /nginx_status {
  
stub_status on;
    
access_log   off;
  }

  
### FPM Status
  
location ~ ^/(status|ping)$ {
    
fastcgi_pass unix:/var/run/php5-fpm.sock;
    
access_log      off;
  }


Edit: Ändrar jag om Location / till denna neranför så fungerar www.example.com/about/ men däremot fungerar absolut inga bilder på servern alls av någon skum anledning

PHP-kod:
location / {
    
try_files $uri $uriindex.php;
    
rewrite ^(.+)/ $1.php;
  } 

Några förslag?

Senast redigerad av JesperA den 2012-11-04 klockan 15:24
JesperA är inte uppkopplad   Svara med citatSvara med citat
 


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 19:42.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017