2010-11-27 11 views
1

の代わりに302リダイレクト.php私は$ _SERVER ['REQUEST_URI']を使ってユーザが見たいページを見ています(例:/testfile.php)ので、index.phpは適切なHTMLコードを生成できます。 testfile.phpは存在する必要はないことに注意してください。nginxのは、書き換え200

私の問題は、私がtestfile.phpを要求しようとすると、($ _SERVER ['REQUEST_URI']が/)結果として、いつもリダイレクト302を受け取るということです。しかし、私が望むのは、testfile.phpの200 OKです。index.phpは、このための正しいhtmlコードを生成します。

これは私のバギーnginx.confからの抜粋です:

server { 
[...] 

    root /home/test; 

    # When I go to mysite.com redirect my to mysite.com/ 
    location =/{ 
    index index.php; 
    } 

    # For any php file request: let index.php handle the request 
    location ~ \.(php)$ { 
    include fastcgi_params; 
    fastcgi_pass 127.0.0.1:9000; 
    fastcgi_param SCRIPT_FILENAME /home/test/index.php; 
    } 
} 

誰もが私を助けることができますか?おかげさまで

答えて

0

ファイルが存在したことがない場合は、この操作を行うことができます。

location/{ 
    rewrite ^.*$ /index.php last; 
} 

いずれの場合も、あなたが元の要求を読み取ることができるはずです。

try_files $uri $uri/ /index.php 

あなたも、このような要求を書き換えることができますPATH_INFOまたはREQUEST_URI

は、いくつかのより多くの提案のためにこれらのリンクを見てください:http://drupal.org/node/110224http://michaelshadle.com/2010/08/20/front-controller-patterns-and-nginx/Zend Framework on nginx