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

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

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

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

3回答

1845閲覧

PHPの拡張子を隠す際の、「.htaccess」記述。

退会済みユーザー

退会済みユーザー

総合スコア0

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2021/07/31 00:22

編集2021/07/31 02:09

「.php」の拡張子を非表示にするため
個人サイトを参考に、エックスサーバーのサーバーパネルから
「.htaccess」を編集しました。

目的は、
https://◯◯◯.com/signup-mailでアクセスしても
https://◯◯◯.com/signup-mail.phpの内容が表示され、
かつブラウザのアドレスバーに.phpが表示されないことが実現したことになります。
.phpの拡張子を隠したいです。

しかし、以下のように追加しても動作しません。

例えば、
https://◯◯◯.com/signup-mailでアクセスすると、
https://◯◯◯.com/index.phpが表示されます。

試しに、追加部分のみだけの「.htaccess」にすると動作しました。
https://◯◯◯.com/signup-mailでアクセスすると、
ttps://◯◯◯.com/signup-mail.phpの内容が表示され、
.phpの拡張子も非表示です。

何が問題なのか、
アドバイス頂けると幸いです。
どうぞよろしくお願い致します。

html

1#デフォルト 2SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off 3SetEnvIf Request_URI ".*" Ngx_Cache_AllCacheMode 4#ここまでデフォルト 5 6#追加部分 7<IfModule mod_rewrite.c> 8RewriteEngine on 9RewriteCond %{REQUEST_FILENAME} !-d 10RewriteCond %{REQUEST_FILENAME}.php -f 11RewriteRule ^(.*)$ $1.php 12</IfModule> 13#ここまで追加部分 14 15#デフォルト 16# BEGIN WordPress 17<IfModule mod_rewrite.c> 18RewriteEngine On 19RewriteBase / 20RewriteRule ^index.php$ - [L] 21RewriteCond %{REQUEST_FILENAME} !-f 22RewriteCond %{REQUEST_FILENAME} !-d 23RewriteRule . /index.php [L] 24</IfModule> 25# END WordPress 26#ここまでデフォルト

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

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

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

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

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

holy_

2021/07/31 00:53

構文的には間違っている場所は見当たらないです。 もう少しエラーの情報がほしいです。
退会済みユーザー

退会済みユーザー

2021/07/31 01:06

ご連絡ありがとうございます。 お手数おかけして申し訳ございません。 エラーの具合を追記いたしました。 もし何かおわかりがあればどうぞよろしくお願い致します。
m.ts10806

2021/07/31 02:52

WordPressは本件とどう関係するのでしょう。
guest

回答3

0

https://◯◯◯.com/signup-mailでアクセスすると、https://◯◯◯.com/signup-mail.phpに書き換えて欲しいと言うことでしょうか?

これだと、一旦signup-mail.phpに書き換えた後に、さらにindex.phpに書き換えられるので[L]を付けると良いでしょう。この場合は/も必要なはずです。

Apache

1RewriteRule ^(.*)$ /$1.php [L]

投稿2021/07/31 01:44

otn

総合スコア84804

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

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

退会済みユーザー

退会済みユーザー

2021/07/31 02:05

ご回答ありがとうございます。 説明が足らず、申し訳ございません。 >https://◯◯◯.com/signup-mailでアクセスすると、https://◯◯◯.com/signup-mail.phpに書き換えて欲しいと言うことでしょうか? https://◯◯◯.com/signup-mailでアクセスしても、https://◯◯◯.com/signup-mail.phpの内容が表示され、かつブラウザのアドレスバーに.phpが表示されないことが実現したことになります。.phpの拡張子を隠したい。 >RewriteRule ^(.*)$ /$1.php [L] 追記しましたが、変わらず、 https://◯◯◯.com/signup-mailでアクセスすると、 https://◯◯◯.com/index.phpが表示されます。 SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off SetEnvIf Request_URI ".*" Ngx_Cache_AllCacheMode <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.*)$ /$1.php [L] </IfModule> # 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
otn

2021/07/31 02:39

> が実現したことになります。 じゃ、合ってますね。 > https://◯◯◯.com/signup-mailでアクセスすると、 https://◯◯◯.com/index.phpが表示されます。 DOCUMENT_ROOT/signup-mail.php は存在するのですよね? なんかおかしいですね。念のため RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.*)$ /$1.php [L] # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME}.php !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] で、どうでしょうか?
退会済みユーザー

退会済みユーザー

2021/07/31 03:59

>DOCUMENT_ROOT/signup-mail.php は存在するのですよね? 私のミスかもしれません。 サブドメインでした。 正しくは、以下の内容になり、 https://◯◯◯.◯◯◯.com/signup-mailでアクセスしても、https://◯◯◯.◯◯◯.com/signup-mail.phpの内容が表示 なので、>DOCUMENT_ROOT/signup-mail.php は存在しなかったとのだと思われます。 しっかり説明せず、大変申し訳ございませんでした。 ただ、解決のヒントになりました。 この度は失礼いたしました。
guest

0

単なる推測に過ぎませんが、下側の「デフォルト」部分が追記部分と競合しているということではないでしょうか?
(デフォルトにも同じようなリダイレクトの文が載っていますし、、、)
ひとまずコメントアウトしてみてはいかがでしょうか?

htaccess

1 2#デフォルト 3SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off 4SetEnvIf Request_URI ".*" Ngx_Cache_AllCacheMode 5#ここまでデフォルト 6 7#追加部分 8<IfModule mod_rewrite.c> 9RewriteEngine on 10RewriteCond %{REQUEST_FILENAME} !-d 11RewriteCond %{REQUEST_FILENAME}.php -f 12RewriteRule ^(.*)$ $1.php 13</IfModule> 14#ここまで追加部分 15 16#デフォルト 17# BEGIN WordPress 18#<IfModule mod_rewrite.c> 19#RewriteEngine On 20#RewriteBase / 21#RewriteRule ^index.php$ - [L] 22#RewriteCond %{REQUEST_FILENAME} !-f 23#RewriteCond %{REQUEST_FILENAME} !-d 24#RewriteRule . /index.php [L] 25#</IfModule> 26# END WordPress 27#ここまでデフォルト 28

投稿2021/07/31 01:40

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2021/07/31 02:00

ご回答ありがとうございます。 ご指摘のとおり、コメントアウトすると、正常に動作します。 ただ、この# BEGIN WordPress以下の部分はコメントアウトしても大丈夫なのでしょう!?
guest

0

ベストアンサー

説明に誤りがありました。

(誤り)
https://◯◯◯.com/signup-mailでアクセスしても
https://◯◯◯.com/signup-mail.phpの内容が表示され

(正しい)
https://◯◯◯.◯◯◯.com/signup-mailでアクセスしても
https://◯◯◯.◯◯◯.com/signup-mail.phpの内容が表示され

つまりサブドメインでした。

ですので、
直下ドメインにある「.htaccess」を編集しても、
「signup-mail.php」が見つからなかったのだと思います。

解決策は、サブドメインの「.htaccess」を編集したら、
実現できました。

ご回答いただいた方々、
大変、申し訳ございませんでした。

投稿2021/07/31 04:03

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問