質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
CGI

CGI(Common Gateway Interface)とは、Webサーバー上でユーザプログラム動作させる仕組みのこと。また、動かす前提のプログラムをCGIと呼ぶこともあります。HTMLなどの静的な情報に限らず、プログラムの処理結果をベースにした動的情報の提供が可能です。

Q&A

1回答

1594閲覧

htaccessで特定のディレクトリ内を除外したいです

higashi

総合スコア13

CGI

CGI(Common Gateway Interface)とは、Webサーバー上でユーザプログラム動作させる仕組みのこと。また、動かす前提のプログラムをCGIと呼ぶこともあります。HTMLなどの静的な情報に限らず、プログラムの処理結果をベースにした動的情報の提供が可能です。

0グッド

0クリップ

投稿2021/12/24 22:48

あまりcgi、htaccessなどは詳しくないwebデザインをやっているものです。

とあるWPのサイト下に /test/ という無料のcgiフォームを使ってLPを稼働していました。

■サイト構成
(第1階層)
public_html
-------------- 
(第2階層)
/wp-admin/
/wp-content/
/wp-includes/



その他wpのファイル
/test/ (フォームが動かなくなったLP)
.htaccess

先日、WPのバージョンの更新なのか、サーバのphpのバージョンの更新があったのかが不明なのですが、
/test/ のcgiフォームが動かなくなりました。

エラー 500 CGIの実 行などでエラーが発生しました Error 500 Internal Server Error

※私はこのサイトに関してはしばらく関与していなかったので状況がわからず、担当の方もwebに詳しくないのでどんな更新があったかは分からずです。

サーバはWADAXのsvです

こちらのFAQなどを見ていろいろと試してたり、WADAXのヘルプに質問をなげてもよい回答が得られず困っています。
https://faq.wadax.ne.jp/s/article/29

ただ、試していた中で.htaccessの記述によっては/test/ のフォームが動くことが分かりました。
public_html/.htaccessの記述は

AddHandler fcgid-script .php # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress Options +ExecCGI

となっており、この状態でWPは正常に動き、/test/のフォームはエラーが出てしまいます。(ただし、たまにフォームが動くこともあります)

public_html/.htaccessの記述の1行目

AddHandler fcgid-script .php

を削除すると、WPにアクセスすると以下のエラーがでてアクセスできなくなります。

Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /home/〇〇〇〇.com/public_html/wp-settings.php on line 354

ですが、/test/のフォームが正常に使えるようになります。

ということなので AddHandler fcgid-script .php が /test/に作用してフォームが動かないんだと思い、
/test/内に AddHandler fcgid-script .php を無効にする記述らしいのですが、以下を入れた.htaccessをアップしてみました。

RemoveHandler .php

ですが、結果は特に変わりなく、フォームは動きませんでした。
どうにも改善されないのでお知恵をいただけたらと思います。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

エラーの原因その他の詳細がわからないという状況だと、

public_html/.htaccessからAddHandler fcgid-script .php削除し、
public_html/wp-admin/.htaccess
public_html/wp-content/.htaccess
・・・・
に、AddHandler fcgid-script .phpを記述するのでしょうか。

投稿2021/12/25 06:25

otn

総合スコア85901

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

higashi

2021/12/26 16:02

ご確認ありがとうございます。私の質問がちょっとややこしかったので、以下のように簡潔にまとめました。 public_html/の最上位階層で以下のような.htaccessが設置されているのですが、 AddHandler fcgid-script .php # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress Options +ExecCGI 下層の/test/内のフォームを動かすには.上記のhtaccessの干渉をうけたくないのです。 (htaccessファイルを削除すると/test/のフォームが正常に動きます)
otn

2021/12/26 16:20

はい。それはもともと質問文からわかっていることです。 その内容は、十分読み取れますよ。
higashi

2021/12/27 07:22

public_html/.htaccessからAddHandler fcgid-script .php削除し、 public_html/wp-admin/.htaccess public_html/wp-content/.htaccess ・・・・ に、AddHandler fcgid-script .phpを記述するのでしょうか。 ↑こちらやってみたんですが、/test/のほうは正常に動きますが、 Wpのほうが以下のようなエラーになってしまいます。 Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /home/ディレクトリ名/public_html/wp-settings.php on line 354
otn

2021/12/27 15:13

それはそれで、.htpaccessとは関係ない独立した問題ですね。 その指摘された行以前のどこかに間違いがあるということです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問