私のサイトはほとんど起動していますが、元のコードには、例えばimg src="/design/pic1.png"
などがあります。実際のサーバーでは、必要なディレクトリはweb
なので、新しいパスはimg src="web/design/pic1.png"
であるはずですが、すべてのパスを書き換えたくありません。 別のオプションはありますか?別のディレクトリにリダイレクト
答えて
設定に応じて、環境に依存する基本パスを決める定数を設定する方法があります。例えば
、その後、あなたはこのようなもので終わるかもしれない、あなたは$WEB_ROOT . "/design/"
内のすべての画像を入れて満足しているが、本番環境でそれは$WEB_ROOT . "/web/design/"
だ開発環境にいるとします
<?php
// initialise stuff for development
if(ENVIRONMENT == ENV_DEV) {
define("BASE_PATH", "/");
// initialise stuff for production
} elseif(ENVIRONMENT == ENV_PROD) {
define("BASE_PATH", "/web");
}
?>
その後、あなたのHTMLに、あなたがそうのように、このBASE_PATH
定数を使用することができます:あなたはこの例ではENV_DEV
とENV_PROD
であるかを決める方法
<img src="<?=BASE_PATH;?>/design/pic1.png" />
、完全にuがありますあなたにp。
ドメインに基づいて検出する方法があります($_SERVER['HTTP_HOST']
、has some caveatsを使用)。
もう1つの方法は、ウェブ設定でこれを初期化することです。 Apache2を使用しているとします。SetEnv
ディレクティブを使用します。あなたのhttpd.conf
で
:
あなたが使用してPHPにアクセスすることができますSetEnv MY_ENVIRONMENT DEV
:
<?php
$_SERVER['MY_ENVIRONMENT'];
// or...
getenv("MY_ENVIRONMENT");
?>
thats great、そして.cssファイルのファイルはどうですか? –
それは難しいことです。 CSSファイル*に関連する画像をCSSディレクトリに配置する傾向があります。ですから、 '$ WEB_ROOT/css/style.css'があれば、' $ WEB_ROOT/css/images/'を作成してCSSの画像を相対パスで参照します。 '/ something/something/css/images/foo.png'ではなく、' images/foo.png'となります。また、あなたのCSSディレクトリがWebルートから常に1レベル離れていることを知っているなら、 '../ images/foo.png'を実行することができます。 – gpmcadam
- 1. 任意のディレクトリを別のディレクトリにリダイレクト
- 2. あるディレクトリから別のディレクトリへのリクエストのリライト/リダイレクト
- 3. mod_rewriteディレクトリを親ディレクトリにリダイレクト
- 4. 単一のイメージをあるディレクトリから別のディレクトリにリダイレクトする
- 5. 特定のディレクトリ内のものを別のドメインにリダイレクトする
- 6. htaccessサブドメインURLを変更せずに別のディレクトリにリダイレクト
- 7. 空のURLのサブドメインを別のディレクトリにリダイレクトしますか?
- 8. 出力をBASHの別のディレクトリにリダイレクトする方法は?
- 9. Apache2 - スラッシュのないディレクトリURLを別のURLにリダイレクト
- 10. ディレクトリをページにリダイレクト
- 11. htaccessを使用してURLを別のディレクトリにリダイレクト
- 12. ディレクトリのディレクトリへのスクリプトのリダイレクト
- 13. 301リダイレクトMod-Rewrite(個別のファイルへのディレクトリ)
- 14. .htaccess mod_rewriteディレクトリをURLにリダイレクト
- 15. htaccess symfony2 Webディレクトリにリダイレクト
- 16. ASP.NETアプリケーション内の別のディレクトリにあるページにユーザーをリダイレクトする
- 17. 別のURLにリダイレクト
- 18. 別のビューページにリダイレクト
- 19. 別のフォームにリダイレクト
- 20. 別のページにリダイレクト
- 21. 'app'ディレクトリからリダイレクト
- 22. .htaccessディレクトリへのサブドメインのリダイレクト
- 23. htaccessファイルのRewriteRuleディレクトリはリダイレクト
- 24. 別のリダイレクト後リダイレクトCakePHP3
- 25. Apacheを使って別のドメインにディレクトリをリダイレクトする方法は?
- 26. htaccessディレクトリを同じディレクトリ内の単一ページにリダイレクト
- 27. 別のコントローラのアクションにリダイレクト
- 28. yii2の別のコントローラにリダイレクト
- 29. laravelの別のページにリダイレクト
- 30. mod_rewrite - 親ディレクトリに簡単にリダイレクト
は、サーバーを持っている場合でも、新しいバージョンにすべてのそれらのパスを書き換え、それは一時的でなければなりません修正する必要があります。あなたが移動して変更したくないという理由だけで存在しないパスを参照するべきではありません。適切なことを行い、正規表現で検索と置換を行い、パスを正しいパスに置き換えるだけの良いエディタを使用します。 (また、あなたのウェブサイトのディレクトリ内に "web"フォルダがあると奇妙に思えます) –