質問: curl_exec($conn); echo $res; curl_close($conn); //セッションの終了 htaccessの記述 DirectoryIndex index.html index.cgi index.php index.shtml ErrorDocument 404 /index.php ``` ### 試したこと http_response_codeの位置を変更したりhtaccessでRewriteしてみたりしましたが結果はかわらず... (ErrorDocument404のあとを絶対URLにしたら転送されてしまい表示がトップページに) ### 補足情報 phpはロリポップレンタルサーバーの独自ドメインとSSLを設定したサーバーに置いています 元のブログはwpxのWordpressです ロリポップでエラーページ変更やhtaccessなどは設定していません
回答: ``` ErrorDocument 404 /index.php ``` これだと、404のページを index.phpを使って表示しますよ、というだけの設定ですね・・ エラーページであることには違いないので、404ステータスの上書きはできないかと。 存在しないページは、まとめてこれで処理させる、みたいなのは、 ``` RewriteEngine On #他にもディレクトリとか条件があれば、ココに書く RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ /index.php [L] ``` こういう指定の仕方が良いかと思います。 あと、余談ですが。 index.phpの中身の話。 curl_execが失敗する(本当にURLが存在しないとか、通信エラーとか)可能性も考慮して、 失敗した場合に、正しく404なりなんなりのステータスレスポンスを返せるようにしておいた方が良いと思われます。