私のルートには、/dev
と/live
の2つのディレクトリがあります。htaccess RewriteBase
これらのディレクトリ内のすべてのコンテンツには、/css/style.css
または/js/home.js
などの相対パスがあります。
相対パスが/live/css/style.css
または/dev/css/style.css
になるようにhtaccessを使用してルートディレクトリを変更したい場合は、使用しているサイトのバージョンによって異なります。
Iは/live
ディレクトリ内に位置した.htaccessに次のコードを使用して試みた:
RewriteEngine on
RewriteBase /live/
IもRewriteBase /public_html/live/
を用いて試みました。
ただし、サイトを表示すると、コンテンツパスはhttp://domain.com/live/css/style.css
ではなく、まだhttp://domain.com/css/style.css
です。
誰にでもアイデアはありますか?
ありがとうございます。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC]
RewriteCond %{HTTP_HOST} ^((www\.)?([a-z]+)\.)domain\.com [NC]
RewriteRule ^((www\.)?([a-z]+)\.)domain\.us$ /live/index.php?tag=%3 [L,P]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC]
RewriteCond %{HTTP_HOST} ^dev.((www\.)?([a-z]+)\.)domain\.com [NC]
RewriteRule ^((www\.)?([a-z]+)\.)domain\.us$ /live/index.php?tag=%3 [L,P]
これは、生産と開発のサイトを切り替えるには正しいですか? 'http:// domain.com/live/css/style.css'の例は説明だけですか、外部URLにどのサイトがアクティブかを反映させたいのですか?後者の場合、なぜですか? – outis
ええ、2つのファイルを切り替えることができ、相対ファイルパスを保持することができます。 – Kit
"/"で始まるパスは相対パスではなく絶対パスです。書き換えルールを使用する際の問題点は何ですか? – outis