0

次の条件を維持しながら、URL の書き換えを行う必要があります。

  • http://domain.net (またはhttp://www.domain.net ) を http:// ip:port/folder に書き換えます。
  • http://domain.net/logout?query=1などの他のリクエストを http://ip:port/folder/logout?query=1 にリダイレクトします (クエリ文字列とすべてを保持します)。
  • 初心者ユーザーがブラウザーの URL バーから IP (リダイレクト先のアドレス) を検出できないように、書き換えをマスクします。
  • マスキングに関しては、http:// domain.net:port/folder のような目に見えるリダイレクトも許容されます。

これまでに試したこと:次の結果は500エラーになります。

RewriteCond %{HTTP_HOST} ^(*.)?domain\.net$
RewriteRule ^(/)?$ http:// ip:port/folder/$1 [L,R,QSA]

以下は、マスキングなしで機能します。

RewriteCond %{HTTP_HOST}   !^www\.domain\.net [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/(.*)         http:// ip:port/folder/$1 [L,R,QSA]
4

1 に答える 1

1

これは、 と が同じサーバーを参照しているip:port場合にのみ実行できます。domain.netip:portそれ以外の場合は、リモート コンテンツを からへのリクエストに対してプルするスクリプトを使用する必要がありdomain.netます (非表示にする場合) ip:port

[P]それ以外の場合は、フラグを使用してリクエストを別のサーバーにプロキシできます。
参照: http://httpd.apache.org/docs/current/rewrite/flags.html#flag_p

于 2012-06-28T13:16:17.480 に答える