2012-02-13 15 views
-1

私が典型的なシナリオによ ...私はmod_rewriteを一緒に得ることは決してないだろうと思われる:mod_rewriteの、リンク、仮想ホスト

homepage_one.tld/impressum.php --> domain.tld?content=impressum 
homepage_one.tld/projects.php --> domain.tld?content=projects 
homepage_one.tld/projects/canvas.php --> domain.tld?content=projects&project=canvas 

私はUbuntuのサーバ版にを使用して、オフラインで開発していますVMwareつまり、私のホームページのローカルドメインは次のようにテストされます:_http:/// localhost:2180/homepage_one/index.php 後で_http://homepage_one.tldになります。

<Directory /var/www/homepage_one> 
       RewriteEngine on 
       RewriteRule ^([^/]*)\.php$ index.php?content=$1 [QSA,L] 
       RewriteRule ^projects/(.*)\.php$ index.php?content=projects&project=$1 [QSA,L] 
     </Directory> 

すべてCSS/画像はリンクある* 壊れ*今、私はURLのために求めているとき:_HTTP:// localhostを:2180/homepage_one /プロジェクト/ canvas.php (私はそれを試してみました絶対リンクを使用していますが、へ:。それはある

代わりに「homepage_one/style.cssに」の「homepage_one/ プロジェクト /canvas/style.css」のために、この問題に関するstackoverflowの時

ほとんどの答えを探しますオフラインでテストする私の絶対的なリンクは/homepage_one/style.cssで、私がウェブサイトを公開すると、私はすべてのリンクを変更しなければならないでしょう。私もHTMLベースのタグを使用しようとしました。しかし、これは一生懸命にはいかなかった....

+0

もっと書き換えルールがあるようです。だから、投稿する。 – ThinkingMonkey

+0

いいえ、それです。実際にhttp:// localhost:2180/homepage_one/projects.phpは完璧に動作しています。私はブラウザがこのディレクトリがちょうど "偽"であることを知らないので、私は2つのパラメータを使用しているときに、追加のディレクトリに問題があります。 –

+0

画像やスタイルシートなどのリンクされたファイルの正しいディレクトリを指す別の書き換えルールを追加します。 は、あなたが持っている場合:? 'homepage_one.tld /プロジェクト/ canvas.php - > domain.tldにコンテンツ=プロジェクト&プロジェクト= canvas' 追加: ' homepage_one.tld /プロジェクト/([^/.]+ ).css - > domain.tld/path/to/your/css/$ 1.css' これは100%正確ではないかもしれません。 読んでください:http://httpd.apache.org/docs/2.0/misc/rewriteguide.html – Erik

答えて

0

ソリューション(@TerryEのおかげで):私の場合は

Edit C:\Windows\System32\drivers\etc resp. /etc/hosts (linux) 
127.0.0.1 my_homepage1.vm 
127.0.0.1 my_homepage2.vm 

以下のように、異なるVMのにポート転送を使用して、私は、それらを達することができる:

my_homepage1.vm:2180 --> VM1 
my_homepage1.vm:2280 --> VM2 

今私はちょうど使用することができます私のプロダクションサーバと同じようにVirtualHostsは、絶対リンクと一緒に行く。

1

Johannesこれは実際にあなたのanswerに対する答えです:-)エントリをリストする従来の方法はIP name nameです。

127.0.0.1 localhost mysite.vm subdomain.mysite.vm blog.mysite.vm 

などです。

また、ポートフォワーディングには痛みがあります。私はいつもブリッジ型またはホストオンリーネットワークを使用しています。私のWindows/WMwareのスキルは、約5年前にあきらめて少し錆びていますが、this VMware pageは、VMware Workstationを使用している場合にそれを行う方法を説明しています。 VMwareアプライアンスでも同じことができますが、VMXファイルを調整する必要があります。私が読んだことをお勧めする私のブログ記事で述べたように、私はVBoxで簡単に見つけました。

ブリッジネットワークでは、NICのMACアドレスが00:23:18:dd:88:88でVMが08:00:27:FE:FE:FEの場合、VMwareネットワークドライバはホストをプログラムしますNICは両方に応答するが、08:00:27:FE:FE:FEパケットをVMの仮想NICに渡す。したがって、VMは他のPCと同様にネットワークに参加し、他のデバイスのPC /サーバーのように見えます。 192.168.1.0/24のプライベートアドレス空間ですべての自宅のデバイスを実行するので、192.168.1.192/26に私のVM用のIPを静的に割り当てるだけです。

ブリッジとホストオンリーネットワークの大きな利点は、デフォルトのポート80を使用できることです。必要に応じて、myprodsite.comがVMをポイントするように(一時的に)DNSエントリを上書きすることもできます。その結果、絶対的にコーディングされた任意のURIがテスト中にVMをポイントするようになります。

希望するもの:-)

+0

puh ...これは完全に大いに役立ちます。以前はブリッジネットワークを設定していませんでした。実際には私の仮想サーバーにポート転送の作業をさせても幸いではありませんでした。ありがとう、私は週末にこれを試してみるので、私は '総痛み'ポートの転送を使用する必要はありません;) –

+0

それは完全に+1またはチックが良いかもしれない場合、 – TerryE

関連する問題