タイトルの通り、htmlページをphp化しようとするとhtmlページへのリンクがダウンロードされてしまいます。
トップページのindex.htmlページにブログやカスタム投稿の更新情報を自動表示しようと思い、htmlのphp化をしようとしています。
htmlのみで作られていたサイトに後からwordpressでカスタム投稿機能を導入したので、トップページのindex.htmlと同階層にindex.phpをはじめ、wp-admin、wp-content、wp-includesなどのフォルダやファイルもある状態です。
サーバーはXserverです。
.htaccessに以下のようにコードを追加してphp化しようとすると、phpページは正常にリンクできるのですが、htmlのリンクはhtmlファイルがダウンロードされる仕様になってしまいます。
以下.htaccessのコードです。
SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off SetEnvIf Request_URI ".*" Ngx_Cache_StaticMode # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress #上記元々のコードに以下コードを追加 <FilesMatch ".html$"> AddType application/x-httpd-php .html </FilesMatch>
ちなみに以下のようにしたところ、正常にリンクされるhtmlページが出てきたり、全く反応もしないhtmlページが出てきたり、phpページにいたっては白背景にコードのみが表示されるようになったり、と滅茶苦茶な状態になったので、すぐに戻しました。
SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off SetEnvIf Request_URI ".*" Ngx_Cache_StaticMode # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress <FilesMatch ".html$"> AddType application/x-httpd-php7.2.17 .html </FilesMatch> AddHandler phpX.X-script .htm .html
試しにindex.htmlのコードを丸ごとコピーして、拡張子をphpに変え、サーバーにアップしてあるトップページのindex.htmlを削除、トップページをindex.phpに置き換える、ということもしました。
しかし、トップページやhtmlページは正常に機能するようになったのですが、後付けで導入したwordpressの下層ページたちのヘッダーやフッターにトップページのコンテンツ群が丸ごと挿入されるという状態になってしまったので、またまた初めに戻しました。
htaccessやphpはあまり詳しくないので、ネットで手探り状態で調べながら進めていて、htaccessに自分が何を記載しているのかも正直全くわかっていないような状態で、もはや対策の検討もつかず、途方に暮れています。
ご教授いただければ幸いです。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。