0

私はこの問題についての私の知恵の終わりに公式に達しました。一度に複数のWebサイトで常に作業している人として(私はここで一人ではないと確信しています)、別のサイトで作業したいときはいつでも「htdocs」ディレクトリの名前を変更するのはイライラするので、一緒に投げることにしました。簡単なスクリプト。

私の最初のアプローチは、提供したディレクトリ入力に基づいて「httpd.conf」の「DocumentRoot」変数をリセットすることでしたが、メインの「/ Applications /XAMPP/」ディレクトリの外にDocumentRootがあるとより大きな問題になることがわかりました。ご覧のとおり、XAMPPをインストールしてOSXを実行しています。理想的には、すべてのサイトを「/ Users / Me / Sites/*」に配置したいと思います。XAMPPのベースディレクトリ内でサイトを移動しようとしても、ApacheはDocumentRootとして「htdocs」以外のものをロードしたくありません。

次のアプローチは、その時点で作業していた各サイト内のすべてのファイル/ディレクトリへのシンボリックリンクを「htdocs」に追加することでした。これは、基本的なhtmlファイルのブラウザーで正常にロードされますが、私は主にPHPを使用しており、レンダリングしたくないようです(ファイルは表示されますが、Webページとして表示されません)。

これらのアプローチ自体はそれほど難しいことではありませんが、Xcodeの学習から、AppleScript、Apacheのhttpd.confドキュメントまで、私は十分な頭痛の種を経験したと感じています。私はこれまでに行った各試行の許可を試してみましたが、まだ何もうまくいきませんでした。

過去にこの問題に直面したことのある他のWebデザイナーはたくさんいると思いますが、あなたの解決策は何ですか?

4

3 に答える 3

1

XAMPPを使用していることを考えると、これは実際には非常に簡単に実現できます。私は100%ではありませんが、このファイルで/bin/apache2/conf/extras/呼び出されるファイルが表示されるはずhttpd-vhosts.confです。必要な数の仮想ホストを追加できます。ServerNameをユニークなものに設定してください。それが完了したら、インクルードVhostsが有効になっていることを確認しますhttpd.conf

これで、hostsファイルを編集するだけです。これがOSXのどこにあるかはわかりません。これは、Linuxベースである/etc/hostsためですが、Googleがお手伝いします。次のように、サイトごとに1行追加します。

127.0.0.1     site1.dev
127.0.0.1     site2.dev

など。ここでapacheを再起動し、ブラウザの種類site1.devでapacheがそれを理解し、そのサイトに移動するはずです。ものすごく単純。

于 2011-01-04T07:31:28.347 に答える
0

ブラッドのソリューションは機能するはずです。

OSXを使用している場合は、MAMP(http://www.mamp.info/en/index.html)も確認することをお勧めします。無料の「Pro」バージョンがあります。私は無料版のみを使用しましたが、ルートディレクトリをあるプロジェクトから別のプロジェクトに変更するのは非常に簡単です。唯一の落とし穴は、ソケットを使用して接続するMySQLですが、何をしているのかを知っていれば、これは大したことではありません。

于 2011-01-04T07:41:19.170 に答える
0

virtualHostのことを理解したら、名前ベースの仮想ホストを使用し、ホストファイルを編集して、開発サーバーのIPに一致するすべての名前を取得するとします。完了すると、documentRootとディレクトリを調整する必要があることがわかります。新しいプロジェクトごとに、これらすべての仮想ホストの設定。

したがって、一般的なソリューションが存在します。mod_vhost_alias: http ://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html すべての仮想ホストは同じで、変数(documentRoot、serverNameなど)があります。一部のプロジェクトに特定の設定が必要な場合は、.htaccessファイルを許可していることを確認し、そこに特定の設定を行ってください。

于 2011-01-04T12:15:27.977 に答える