次のルールでサブドメインにhtaccessがあります。
RewriteEngine On
RewriteBase /
RewriteRule ^feed([0-9]+)$ ../image.php?id=$1 [L]
したがって、基本的には、サブドメインにあるフィードからメインドメイン(上の1つのディレクトリ)にあるimage.phpファイルにリクエストをリダイレクトしたいと思います。 ../
の使用は、PHPのようには機能しないようです。
では、どうすれば親ディレクトリのファイルに書き換えることができますか?
その音によると、あなたはすでにサブドメインのドキュメントルートにいます。これはおそらくそれ自身の仮想ホスト(メインドメインのドキュメントルートから離れたサブディレクトリを指している)で定義されています。
残念ながら、.htaccess
でmod_rewriteを使用して、ドキュメントルートの上/外を内部的に書き換えることはできません。 .htaccess
では、RewriteRule
substitutionはURLパスのみを取り、ファイルシステムパスは取りません。ただし、サーバー構成でmod_rewriteを直接使用している場合は、これを行うことができます。サーバー構成では、ファイルシステムパスを置換として指定できます(絶対パスを明示的に含める必要があります。../image.php
のような相対パスは使用できません)。
または、.htaccess
で、mod_proxyとmod_rewriteを使用して、サブドメインからメインドメインにリクエストをプロキシできる場合があります。ただし、これにはサーバー構成が必要な場合があります。例えば:
RewriteRule ^feed([0-9]+)$ http://maindomain.com/image.php?id=$1 [P]