「.htaccess」を確認して下さい
AddType application/x-httpd-php .php .html
【未だ未解決】
digit@maetelさんご返信ありがとうございます。
「.htaccess」にAddType application/x-httpd-php .php .html記載しアップロードしましたが、「404 Not Found」になります。(完全リロード済前提)
アドバイスいただいた
.htaccess
AddType application/x-httpd-php .php .html
を元に検索して調べてみたところ
やりたいことは
「PHPを拡張子 .html で動作させたい時」
に該当し、サーバーによって記述が異なるとのこと
一般のサーバー
AddType application/x-httpd-php .php .html
エックスサーバー等の場合
AddHandler x-httpd-php .html
ヘテムル、ロリポップ等の場合
AddHandler php4-script .html(PHP4 を利用したい場合)
AddHandler php5-script .html(PHP5.2 を利用したい場合)
AddHandler php5.3-script .html(PHP5.3 を利用したい場合)
となるらしく、AddHandler php5.3-script .htmlと記述するが
「404 Not Found」のままでした。
また他に調べると、以下の設定が必要との記載もあり、設定してみるも
「404 Not Found」のままでした。
【ロリポップサーバーでの設定】
左側メニューのWEBツール→PHP設定→対象ドメインの設定変更へボタン
→short_open_tagをoffに変更→php.iniを設定するボタンを押し
設定変更を確定する
■現在の「.htaccess」の内容■
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
AddHandler php5.3-script .html .htm
AddHandler php5.3-script .html .htm
を1行目に記載しても状況変わらずでした。
このファイルをUTF-8で保存。
インストールのトップディレクトリにアップロード
パーミッションサーバー指定の604に設定。
ご教授いただければ幸いです。
よろしくお願いします。
私も同じエラーで困っておりましたが、
下記の方法で、なおりましたので、一度お試しください。
ちなみに、404エラーが出力されるとありますが、この404エラーは、
wordpress側で出力される404エラーではないと思いますが、どうでしょうか?
私の場合は、サーバー側の404エラーが表示されていたので、Wordpressの処理前にエラーになっていると分かりましたので、サーバー側の設定だと気づきました。
対処方法ですが、
htaccessの
RewriteRule ^(.*\.php)$ $1 [L]
の部分を削除すると、正常に動くと思います。
意味はよく分かりませんが、拡張子phpのRewriteruleが設定されているので、
この部分をなくすと、正常に動くようです。
お試しください。
muyansoapさんありがとうございます!!
解決しました!!
問題なく表示されました。
【まとめ】
■問題
パーマリンク設定のカスタム構造で拡張子をphpにすると「404 Not Found」
(wordpressの404ではなく、サーバー側の404)
■環境
PHP: 5.3.15
MySQL: 5.6.11
サーバー:ロリポップ(チカッパプラン)
■解決策
.htaccessのRewriteRule ^(.*\.php)$ $1 [L]を削除
サーバーアップロード。
例
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]←ここを削除
RewriteRule . index.php [L]
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule . index.php [L]
これで問題なく表示されました。
削除による悪影響は今のところでてません。
ありがとうございました!