2

/usr/home/public_html/x.htaccess mod_rewriteなどのフル/アブソリュートパスディレクトリを参照することは可能ですか?

サブドメイン(public_htmlのフォルダーに保存されている)の.htaccessに次のものを入れて、絶対ディレクトリが指すファイルにマップする(リダイレクトしない!)ことを期待して、最も明白なケースを試しました。

RewriteEngine on
RewriteRule /xochotl /usr/home/public_html/x.php

それは機能しません...500内部サーバーエラーが発生します

メインのpublic_htmlディレクトリの.htaccessには、次のようなものがあり、相対ディレクトリで機能します。

RewritEngine on
RewriteRule /xochotl x.php
4

1 に答える 1

3

mod_rewriteディレクトリごとのコンテキストで使用する場合 (つまり、 を使用する場合) は、ファイルパスにマップできません.htaccesshttpd.confただし、ルールをサーバーごとのコンテキスト (メイン サーバーまたは仮想サーバー構成のいずれか) に配置する場合は、絶対パスにマップできるはずです。

この理由は、mod_rewriteディレクトリごとのコンテキストでどのように機能するかによるものです。mod_rewriteURL を変換し、それ自体をリクエストのハンドラーとして割り当てます。これにより、Apache を介して内部リダイレクトを送信できるようになります。これは、処理の後半では不可能でした。

内部リダイレクトは、Apache API 関数を呼び出すことによって行われます。この関数ap_internal_redirectは、ファイルシステムに再マップされる URI を想定しています。補足として、これは、後続の要求のために同じファイルが読み取られるリダイレクトを実行する場合(たとえば、いつでもサイト ルートにある場合)にも理由が%{REQUEST_URI}あり、変更される場合もあります。%{REQUEST_FILENAME}.htaccess.htaccess

于 2010-07-24T21:17:43.117 に答える