Ubuntu で XAMPP を実行しており、プロジェクト用の仮想ホストを作成して、サーバーのルート ディレクトリ (.local など) に tld を割り当て、その中のフォルダーに URL を介して としてアクセスできるようにしたいと考えていますhttp://foldername.local
。
また、.htaccess を使用してサーバー ルートhttp://someotherdomain.local
のパスにリダイレクトするのは、どれほど複雑でしょうか?/foldername
Ubuntu で XAMPP を実行しており、プロジェクト用の仮想ホストを作成して、サーバーのルート ディレクトリ (.local など) に tld を割り当て、その中のフォルダーに URL を介して としてアクセスできるようにしたいと考えていますhttp://foldername.local
。
また、.htaccess を使用してサーバー ルートhttp://someotherdomain.local
のパスにリダイレクトするのは、どれほど複雑でしょうか?/foldername
私は自分でそれを行うことができました。それを行うことは可能ですが、DNS サーバーをインストールする必要があります。
注: ローカル ドメインとして .dev を使用することにしたので、次の例では、その
dev
部分は選択したドメインを参照します。心に留めておきます。
どちらでもかまいませんが、適切に構成する方法を知る必要があります。構成は、選択した DNS サーバーによって異なります。私はdnsmasqに行きました。軽量でとても便利です。
Ubuntuユーザーにとって重要な注意事項は、Ubuntu 11.10 以降、 dnsmasq-baseと呼ばれる軽量バージョンが既にインストールされているため、インストール中に競合が発生することです。これを回避する方法は他にもたくさんあるので、ここでは説明しません。
DNS サーバーをインストールしたら、目的のドメインと同じアドレスをリッスンするように構成する必要があります。
私の場合dnsmasq
/etc/dnsmasq.conf
、これは行番号62を開いてこれに変更することを意味しました:address=/dev/127.0.1.1
ある種のサーバー ソフトウェアが既にインストールされていると仮定すると、いくつかの微調整を行う必要があります。
まず、hosts
ファイルを編集して、目的のドメインをローカルホストにマップする必要があります。
私のXAMPP for Linux on Ubuntuの場合、これは、
/etc/hosts
行を開いて変更したことを意味します127.0.0.1 localhost 127.0.1.1 tomica-ubuntu
に
127.0.0.1 localhost 127.0.1.1 tomica-ubuntu dev
http://dev
これにより、ローカル サーバーにリダイレクトされます。
次に、次のように、いくつかの特定のオプションを使用して新しい仮想ホストを作成します。
私の場合、これはファイルを開い
/opt/lampp/etc/extra/httpd-vhosts.conf
て末尾に追加することを意味します。<VirtualHost *:80> DocumentRoot "/opt/lampp/htdocs/dev" ServerName dev ServerAlias *.dev <Directory /opt/lampp/htdocs/dev> AllowOverride All </Directory> </VirtualHost>
簡潔にするために、このコードについては説明しません。ドキュメントも入手できるからです。
これがすべて完了したら、DNS サーバーと Web サーバーを起動するか、既に実行されている場合は再起動します。
新しく作成したホストのルート フォルダーを開きます。それはあなたので定義されたフォルダです。私の場合、それは/opt/lampp/htdocs/dev
. そこにファイルを作成し、.htaccess
これを入れます:
# Specify order of index files; if none exist, show files list
DirectoryIndex index.php index.html
# Interpret .html files as .php scripts
AddHandler php5-script .php .html
# THE MAGIC - Redirect subdomains of .dev to their respective folders
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.dev$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.dev(.*)?$ [NC]
RewriteRule !^%2\.dev%3?/$ http://dev/%2%{REQUEST_URI}/ [P]
繰り返しますが、これをすべて説明すると、あまりにも多くのスペースと時間が必要になります。コピーして貼り付けるだけです。心配する必要はありません :) ただし、mydev
をドメイン名に選択したものに変更することを忘れないでください。
以上です!http://folder.dev/
これで、http://www.folder.dev
、http://folder.dev/file.html
、http://folder.dev/subfolder/document.txt
などアドレスを使用してプロジェクトを参照できるはずです
おまけとして、もう 1 つだけアドバイスを追加します。これを行った理由は、Laravel と WordPress のプロジェクトをより簡単に開発できるようにするためです。ただし、Laravel では、URLhttp://lvproject.dev/
を の場所にリダイレクトする必要があり/lvproject/public
ます。そして、.htaccess
これがまさにそれを可能にするファイルです。/lvproject
フォルダーを開き、ファイルを作成して、この.htaccess
コードをその中に配置します。
RewriteBase /lvproject/
RewriteCond %{REQUEST_URI} lvproject/index\.php [NC]
RewriteRule index\.php(.*)$ public/ [L]
このソリューションの 2 つの欠点は次のとおりです。1)RewriteBase
新しいプロジェクトごとにルールを新たに設定する必要があります (つまり、.htaccess
新しいプロジェクトごとに手動で作成する必要があります)。2) あなたのプロジェクトは と の両方から利用できるようになりhttp://lvproject.dev/
ますhttp://lvproject.dev/public/
。