たとえば、次のようなURIリクエストをルーティングできるようなApacheリライトルールを作成しようとしています。私は、私のindex.phpにどこでも、相対ファイルパスを使用しておりますのでApacheリライトルールを使用しているときの相対ファイルパスの問題
RewriteRule ^/?([a-zA-Z_]+)/([a-zA-Z0-9_]+).html$ index.php?site=$1&page=$2 [L]
RewriteRule ^/?([a-zA-Z_]+)/([a-zA-Z0-9_]+)$ index.php?site=$1&page=$2 [L]
:
http://mydomain.com/articles/example
私がこれまで持っていることはこれです
http://mydomain.com/index.php?site=articles&page=example
へスタイルシート、スクリプト、イメージなど、私は間違って解決された絶対ファイルパスの問題に直面している。私は根、
http://mydomain.com/
または
http://mydomain.com/articles
にいるとき、すべての相対イメージパスが正しく解決たとえば
からimages/logo.jpg
は、それぞれhttp://mydomain.com/images/logo.jpg
またはhtdocs/mydomain/images/logo.jpg
になります。
サイト上の自分のリンクの1つをクリックすると、 http://mydomain.com/articles/example
、Apache(またはブラウザ?)は、すべての画像がここにあると仮定しますhttp://mydomain.com/articles/images/
- このパスが実際には存在しないことはかなり明白です。だからここ
は私の質問です:
1.は、それが絶対的なものにすべての私の相対ファイルパスを変更するせずにこの問題を解決することは可能ですか?
私のドメインが有効にリンクされているので、実際のWebサーバー上のすべてのパスにroot /
を使用できます。
mydomain.com
は私のWebサーバー上の/html/mydomain
にリンクされている - /
はmydomain.com/
に解決されますが、私の個人的なコンピュータ上で私はXAMPPを実行していると/
がhtdocs/
に解決 - 私はhtdocs
のいくつかの部位を保持するので、それはしかし、単にhtdocs/mydomain/
に解決する必要がありますindex.phpだけでなく、スタイルシートやスクリプトも同様にパスの宣言を自動体系的に置き換える必要があるため、index.phpを私のWebサーバに更新すると、絶対ファイルパスはひどいものになります。
2.私のパーソナルコンピュータに静的DNSエントリを作成して、自分のWebサーバーに適合させる必要がありますか?
最も一般的な方法は何ですか?
ありがとうございます!
は誠意をこめて、セバスチャン