LoginSignup
7
13

More than 5 years have passed since last update.

XAMPP HTMLファイルでPHPや絶対パスを使う

Posted at

使用環境
win7
XAMMP v3.2.1

HTMLファイル内でPHPを使う

XAMPPのデフォルト状態では、HTMLファイル内でPHPを実行することはできません。

\xampp\apache\conf\httpd.conf
ファイルをテキストエディタで開きます。

<IfModule mime_module>~</IfModule>
のタグ内に
AddType application/x-httpd-php .php .html
と記述します。

ファイルを保存してXAMPPを再起動します。
Startをクリック→Stop→stopをクリック→start でOKです。

絶対パスの指定

headerやfooterなど、ページで共通して使うパーツはcssや画像を絶対パスで書いています。

htdoctsの下階層にtestディレクトリを作ったとします。
http://localhost/test/ にアクセスできるわけですが、testよりも下の階層に絶対パスを書いたファイルを置いた場合、アドレスがおかしなことになったりします。

XAMPPのDocumentRootは http://localhost/ となっているため、絶対パスでは上手く読み込めず、 http://localhost/css/style.css というようなURLになります。
(本当ならhttp://localhost/test/css/style.css になって欲しい )

\xampp\apache\conf\httpd.confを開き、以下を記入します。

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/test"
ServerName local-test
</VirtualHost>

今回はhtdoctsの下階層に作ったtestディレクトリに対し、local-testというサーバーネームをつけました。

Cドライブ直下にXAMPPをインストールをしているため、DocumentRootがC:/xampp/htdocsになっていますが、使用している環境に合わせて適宜修正をします。

C:/WINDOWS/system32/drivers/etc/hostを編集します。
書き込み権限がない場合があるので、書き込み権限を許可した上で行います。

ファイルを開き、

127.0.0.1 localhost
127.0.0.1 local-test

と記述します。
Apacheを再起動させると、 http://local-test/ にアクセスできるようになります。
http://local-test/ は C:/xampp/htdocs/test/ を参照しています。

パスが正しく記述されているか確認しましょう。

参考

HTMLでPHPを実行する
XAMPPでVirtualhostとhostファイル利用して複数サイト管理

7
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
13