ページの中で PHP を動かしたいのですが、
Redirect permanent /index.html http://www.example.com/index.php
すると index.php は思う通りに動いてくれます。
そこで index.php の拡張子を index.html に変更してから .htaccess を
Redirect permanent /index.html http://www.example.com/index.php => 削除
AddType application/x-httpd-php .html => 書き込み
もしくは
AddType application/x-httpd-php .php .html => 書き込み
もしくは
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*?)\.html$ $1.php => 書き込み
すると php のコードがテキストで表示されてしまいます。
最初からではなく
channel['title']; $title = mb_convert_encoding($title, "UTF-8",
から
\n"; ?>
までです。
php のコードはコメント欄に載せます。どこを見直せばいいでしょう。
サーバの設定は変更できません。よろしくお願いします。
(1)
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*?)\.html$ $1.php
これは html が無ければ php に飛ばすという方法ですから
index.php のままにしておかなければ
index.html をHTMLとして垂れ流してしまいます。
指定方法としては違うのですが動作結果としては
Redirect permanent /index.html http://www.example.com/index.php
と同様だと言えば判りやすいでしょうか?
(2)
頭からの一部が表示されないのはphpコードが入っていてブラウザがうまく認識できないためです。
ブラウザでソースコードを表示すればすべて表示されますので確認してみてください。
(3)
AddType application/x-httpd-php .html AddType application/x-httpd-php .php .html
これらについては、もしかしたら
AddHandler x-httpd-php .php .html
が使えるかもしれませんが、
(a)htaccessでの利用が許可されているかをサーバ管理者に確認を取る
(b)レンタルサーバであれば、サーバ会社のサポートページにて探す
(c)レンタルサーバであれば、サーバ会社と契約コースを明示して引き続き回答を期待する
のいずれかが必要かもしれません。
kn1967 さん ありがとうございます。
AddHandler x-httpd-php .php .html
試しましたが、無理でした。
管理者に聞いてみます。