hiroaki@_@

拡張子.htmlでphpを動作させる

.htaccessの設定により拡張子.htmlファイルでphpを動作させることが可能です。
phpを動かしたい.htmlファイルと同じディレクトリ、または上層にある.htaccessに下記内容を記述してください。

AddHandler php5-script .php .html

以上の設定で、拡張子.htmlファイル内のphpが動作します。

上記の設定で動作しない場合

下記の設定を試してください。

設定方法①

AddType application/x-httpd-php .php .html

設定方法②

AddHandler application/x-httpd-php .php .html

設定方法③

AddHandler php-script .php .html 

おそらくphp5環境下だと一番上の方法で動作すると思います。
また、拡張子.htmでphpを動作させたい場合は、.html部分を.htmに変えるか、.htmlの後に追記してください。
当たり前ですが、.htaccessが有効になっていないと設定が反映されないので、忘れずに。

【補足】さくらのレンタルサーバの場合

上記は、さくらのVPSで設定する方法でしたが、さくらのレンタルサーバでは設定方法が異なります。
さくらインターネットでVPSとレンタルサーバの両方を使用されている方も多いと思いますので、補足として記載します。

まず、FTPからレンタルサーバにアクセスします。
共有ディレクトリの「/usr/local/php/●.●/bin(/home/rs/php/●.●/bin)」の中にある「php-cgi」を、FTPのバイナリ転送モードでダウンロードします。
(※●.●はPHPバージョン名。自分がレンタルサーバで使用している同じPHPバージョンからファイルをダウンロードします。)

ダウンロードした「php-cgi」は、設定したい環境のドキュメントルートにバイナリ転送モードでアップロードし、ファイル名を「php-cgi」から「php.cgi」にリネームします。また、パーミション(属性)を705または755に設定します。

次に、「php.cgi」を設置したドキュメントルートにある「.htaccess」に下記内容を追記します。(.htaccessがない場合は新規作成する)

Action myphp-script /php.cgi
AddHandler myphp-script .php .html

以上の設定で、さくらのレンタルサーバで拡張子.htmlをphpとして動作させることができます。
気をつける点としては、FTPでダウンロード・アップロードする際に、転送モードをバイナリモードにすることです。

【参考サイト】
.htaccessで、拡張子.htmlのままPHPを実行する方法 | 海外SEO情報ブログ

.htaccessを有効にする

.htaccessを利用することで、Webサイトへのアクセス制限やbasic認証を行うことができます。
Webサーバーの構築では、.htaccessを有効にする設定にしていないので、このページで説明します。

①/var/www/htmlディレクトリ配下にある.htaccessを有効にする

SSHでVPSサーバーにアクセスし、root権限でhttpd.confを編集します。

[root@ ~]# vi /etc/httpd/conf/httpd.conf (httpd設定ファイルの編集)

.htaccessを有効にするには、AllowOverride None の記述部分を AllowOverride All に変更します。

<Directory "/var/www/html">

#
# Possible values for the Options directive are "None", "All",
# or any combination of:
#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important.  Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
    Options FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
    AllowOverride All (NoneをAllに変更)

#
# Controls who can get stuff from this server.
#
    Order allow,deny
    Allow from all

</Directory>

変更が完了したら、ファイルを保存してください。
設定を有効にするため、Apacheを再起動。

[root@ ~]# service httpd restart (Apacheの再起動)

以上の設定で、/var/www/htmlディレクトリ配下にある.htaccessは有効になります。

②その他のディレクトリ配下にある.htaccessを有効にする

上記の設定では、/var/www/htmlディレクトリ配下にある.htaccessを有効にしましたが、/var/www/htmlディレクトリ以外でウェブコンテンツを設定している場合には、そのディレクトリで.htaccessが有効になるよう設定をします。
例として、/var/www/example.netディレクトリ配下の.htaccessを有効にします。

SSHでVPSサーバーにアクセスし、root権限でhttpd.confを編集します。

[root@ ~]# vi /etc/httpd/conf/httpd.conf (httpd設定ファイルの編集)

httpd.confのファイル末尾に下記3行を追加します。
“ “内のディレクトリ指定部分は適時変更してください。

<Directory "/var/www/example.net">
AllowOverride All
Order allow,deny
Allow from all
</Directory>

追加したら、ファイルを保存。
設定を有効にするため、Apacheを再起動。

[root@ ~]# service httpd restart (Apacheの再起動)

以上で設定したディレクトリ配下にある.htaccessが有効になります。

③.htaccessの利用について

.htaccessの設定内容によっては、ウェブサイトに支障をきたす可能性がありますので、.htaccessの設定は注意して行ってください。

WordPressのRSS出力設定について

ブログランキングサイトなどに作成したブログを登録するにはRSSを出力する必要があります。
WordPressでオリジナルテーマを作った際、RSSを出力(配信)するための設定を行ってみます。

そもそもRSSとは何か。簡単にいうと、外部にサイトの更新情報を通知したり、公開したりする機能。
当サイトのRSS出力は、ブラウザからソースコードを見ると↓のようになっています。

<link rel="alternate" type="application/rss+xml" title="さくらインターネットのVPS設定マニュアル &raquo; フィード" href="https://www.sakura-vps.net/feed/" />
<link rel="alternate" type="application/rss+xml" title="さくらインターネットのVPS設定マニュアル &raquo; コメントフィード" href="https://www.sakura-vps.net/comments/feed/" />

それでは、WordPressでRSSを出力するには、どうすればいいのか。
①functions.phpに設定コードを追加。
②headタグ内にを記述しておくこと。

①functions.phpに設定コードを追加

functions.phpに下記のコードを追加してください。

//RSS出力設定
add_theme_support( 'automatic-feed-links' );

②headタグ内にを記述

WordPressで利用しているテーマ、または作成したテーマのheadタグ内にがあるか確認して下さい。wp_head();は、WordPressで作られたサイトの様々な情報を出力するためのものですが、その出力情報の中にRSSが含まれています。

以上の設定で問題なくRSSが出力されているかブラウザで確認して下さい。
ソースコードにRSSが出力されていれば完了です。

上記設定でRSSが出力されない場合

上記の設定でRSSが出力されない場合には、導入しているプライグインがRSSの出力を妨げている可能性があります。
プラグインがfeed_linksを削除していないか、またはfunctions.phpなどの設定により出力を制御していないか確認をしてください。