質問: 開発ワークステーションおよびサーバーのapache書き換えルール wampスタック上のいくつかのサイトのページを編集し、lampスタックを実行しているパブリックサーバーにアップロードする開発者がいます。私たちはこれにかなり満足していますが、この小さな迷惑があります。開発環境と実稼働環境で同じ.htaccessファイルを使用することはできません。パブリックサイトでは、ソースフォルダーはhttp://foo.com、http://bar.comなどにマップされます。開発者ワークステーションでは、ソースフォルダーはhttp://localhost/foo、http://localhost/barなどにマップされます。つまり、パブリックサーバーにはrewritebase /が必要ですが、開発者ワークステーションの各サイトはrewritebase /foo/、rewritebase /bar/などを使用します。.htaccessファイルに対してrewritebaseを指定する方法はありますか?書き換えルールの移植性を高める他のアイデアはありますか?興味があれば、書き換えルールを使用してcakephpのルーティングコードにリダイレクトするため、ルールは次のようになります。rewriterule ^(.*)$ cake_main.php?url=$1 [qsa,l] 開発者ワークステーションで/foo/のrewritebaseを使用しない場合、/cake_main.phpではなく/foo/cake_main.phpに書き換えられます。
回答: これに対する私の解決策は、書き換えルールを台無しにすることではなく、偽のtldを持つ個別のローカルドメイン/ホストをpcに追加することです。これを行うには、ファイルc:\windows\system32\drivers\etc\hostsを編集しますwindows 7(およびおそらくvista)では、このファイルを正常に編集するには、テキストエディターを管理者として実行する必要があることに注意してください。次のような行を使用してホストを追加できます。127.0.0.2 www.mysite.local 127.0.0.3 www.myothersite.local これらが適切に配置されたら、これらのドメイン名用にapacheを構成できます。もちろん、これはローカルネットワーク内の他のマシンからの十分なテストには機能しませんが、その状況にある場合は、ローカルdnsサーバーを使用するか、ホストをローカルの非ポータブルipアドレスに割り当て、すべてのpcでファイルを同期します。