notes

.phpや.htmlなどの拡張子をURL表示させない方法

投稿日:

しばらく更新できていなかったので、ぽちぽちノート溜めていこうと思います。

 

WordPressならば気にしなくて良いですが、Webサイトをアップして公開すると、通常はURLに拡張子が表示されますよね。

拡張子

「.php」の部分が拡張子です。(※このページは存在しません)

この拡張子の部分をなんらかの事情で表示上だけ消したいといった場合に、URLに表示させない方法です。

 

 

なぜ拡張子を非表示にしたいのか

「.html」は馴染み深いので特に違和感を抱くことも少ないと思いますが、「.php」となっていると「なんか怪しい・・・」と思うユーザーもいるかもしれません。

 

とはいえメンテナンス性が何倍にも跳ね上がるphpは使いたいところ。

あとは、メールフォームを新しく設置することになりphpファイルとhtmlファイルの混在などもあると思います。

 

特に何もしない場合のURL表示

各ディレクトリの index.php(index.html) はURLの末尾が「/」でも表示されますが、他のページでは拡張子が表示されます。

 

たとえば

https://xxxxx.com/example/index.php

https://xxxxx.com/example/

でアクセスしても同じファイルが参照されます。

 

しかし、

https://xxxxx.com/example/test.php

https://xxxxx.com/example/test/

での表示はできません。

この場合(https://xxxxx.com/example/test/index.php)を参照しているため404エラーになります。

 

今回やりたいこと

下記のURL

https://xxxxx.com/example/test.php

を、

https://xxxxx.com/example/test

で表示させたい。

 

拡張子を非表示にする方法

.htaccessに

と書いて、対象のフォルダに入れます。

※今回の場合、https://xxxxx.com/のフォルダ

 

上記の例は.phpを非表示にする例ですが、.htmlを非表示にしたい場合は「.php」の部分を「.html」に変更してくださいね。

 

XAMPP等を使ってのローカル環境も同じでOKです。

 

これで、

https://xxxxx.com/example/test

でのアクセスが可能になりました!

末尾に「/」をつけるとサブディレクトリに飛んでしまうので、拡張子を取り除いたのみの状態でアクセスしてくださいね。

 

ファイル内のリンク先を編集

拡張子なしでアクセスが可能になりましたが、これは

https://xxxxx.com/example/test

でアクセスした際に

https://xxxxx.com/example/test.php

を表示させているだけに過ぎませんので、ファイル内のリンク指定で

<a href="test.php">

となっていると、もちろん

https://xxxxx.com/example/test.php

へのアクセスになります。

 

ですので、ファイル内のリンク先も

<a href="test">

と拡張子なしに合わせてあげると

https://xxxxx.com/example/test

といった表示になりますので、適宜書き換えてくださいね。

 

1からサイトを制作するなら

今回は非表示にする方法をご紹介しましたが、

1からサイトを制作するならば「ページ毎にディレクトリ内にindexを配置していく」というやり方で簡単にURLを正規化できますので、今回の方法をやたらめったら使うのは良くありません。

ただ色々なサイト制作にあたる中で、必要な場面もあると思いますので知識として押さえておくと良いかもしれません。

 

-notes

Copyright© Webjo blog , 2020 All Rights Reserved.