2017-02-09 10 views
-1

私はApacheのインスタンスを持っていますが、PHPはではありません(ほとんど私がこれで見つけた答えはすべてPHP固有です)。実際、静的コンテンツを主に扱っています。PHPを使わないで、すべてのApacheのmod_rewrite環境変数の値を取得する方法は?

私は一部のmod_rewriteリダイレクトに取り組んでおり、すべての環境変数の正確な値を知りたいと思います。

それらのページには、Apacheの利用可能ENV変数をリストし、例としては、私が働いて容易にするため、正確な値は、私のリクエストから見てみたいと思いますしかし

値私の書き換えルールの

すべてのApache環境の値を取得する最も簡単な方法は何ですか?(PHPをインストールすることなく)。 貧乏人のデバッグとして

、私はいくつかの例を定義することにより値を一つずつ取得することができます知っていることは、この

RewriteRule ^/test.htm http://localhost/test2.htm?SERVER_NAME=%{SERVER_NAME} [R,L,NC] 

、その後http://localhost/test.htmを押すと、リダイレクトを観察するように書き換えますが、これは実際にはありません良い解決策。

PHPのような特定の言語に特有のものではなく、すべての環境について学ぶ良い方法がありますか?

+0

Apacheと対話して環境変数を読むことができる言語はたくさんあります。 PHPを使用することは必須ではありません。しかし、Apache自体がすべての環境を外の世界に幸せに報告するだけではないので、何かを実行できる必要があります。 (おそらくそれはできます(https://httpd.apache.org/docs/2.4/mod/mod_info.html)、私のコンピュータで動作することを拒否しているため、私は今チェックできません) –

+0

mod_infoは有望ですが、私はそれをチェックします! –

答えて

1

すべてのApache環境変数の値はPerlで取得できます。標準的なApacheディストリビューションには、まだgood printenv.pl CGIスクリプトがバンドルされています。もちろん

#!D:/programs/perl/bin/perl.exe 
# 

# To permit this cgi, replace # on the first line above with the 
# appropriate #!/path/to/perl shebang, and on Unix/Linux also 
# set this script executable with chmod 755. 
# 
# ***** !!! WARNING !!! ***** 
# This script echoes the server environment variables and therefore 
# leaks information - so NEVER use it in a live server environment! 
# It is provided only for testing purpose. 
# Also note that it is subject to cross site scripting attacks on 
# MS IE and any other browser which fails to honor RFC2616. 

## 
## printenv -- demo CGI program which just prints its environment 
## 
use strict; 
use warnings; 

print "Content-type: text/plain; charset=iso-8859-1\n\n"; 
foreach my $var (sort(keys(%ENV))) { 
    my $val = $ENV{$var}; 
    $val =~ s|\n|\\n|g; 
    $val =~ s|"|\\"|g; 
    print "${var}=\"${val}\"\n"; 
} 

::のようにここでは鉱山が(ApacheのWindows上/ 2.4)が見えるものだあなたはPerlがインストールされている必要があり

  • 通常、デフォルトの/のcgi-binディレクトリを有効にしません
  • Apacheの管理者

その他のプログラムを使用すると、あなたは不運です。私は、ENV変数を報告するApacheモジュール(組み込みのものはmod_infoさえありません)を認識していません。

関連する問題