アプリ版:「スタンプのみでお礼する」機能のリリースについて

htaccessで拡張子を非表示にしてHTML文書などを表示させる方法が分かりません。
具体的に言えば、example.htmlというファイルを
http://www.example.com/example
というURLで表示したいのです。

http://mikeneko.creator.club.ne.jp/~lab/web/htac …にて調べてみたのですが、よく分かりませんでした。

よろしくお願いします。

A 回答 (3件)

#2です。


mod_rewriteは正規表現を使えるので、

RewriteRule ^([A-Za-z0-9]+)$ $1.html

のように書くことも出来ます(英数字の並びに.htmlを付加する)。

DefaultTypeを使う方式のほうは、

DefaultType text/html
<Files "example2">
DefaultType text/css
</Files>

でどうでしょうか(未確認)。

>今度はhttp://www.example.com/example.htmlは表示されなくなってしまいました。
>両方で表示できるサイトを知っているのですが、
案1: mod_rewriteを使う
案2: 内容が同じ2つのファイルを置く。またはサーバーにログインできればリンクを張るほうが良い。

この回答への補足

RewriteRule ^example example.htmlは使えましたが、RewriteRule ^([A-Za-z0-9]+)$ $1.htmlは使えませんでした。
原因は分かりますでしょうか。

あと、DefaultTypeを使う方法はできませんでした。

たびたび申し訳ありません。

補足日時:2006/08/21 08:58
    • good
    • 0
この回答へのお礼

ごめんなさい、補足は全く間違っていました。
mod_rewriteの機能は全て使えないようです。
で、
DefaultType text/html
<Files "example2">
DefaultType text/css
</Files>
の表記法でいけました。

どうもありがとうございました。

お礼日時:2006/08/21 09:44

まず、お使いのウェブサーバーがmod_rewriteという機能を使えるかどうか確認してください。


使える場合、

RewriteEngine on
RewriteRule ^example example.html

apacheのバージョンにより多少違いがあるようなので、駄目なら、
RewriteRule ^/example example.html
RewriteRule /example example.html
RewriteRule example example.html
等も試してください。

mod_rewriteが使えないなら、「何故拡張子を非表示にしたいのか」から考え直したほうがいいかも。
ファイル名をexamlpeと拡張子無しにして、
DefaultType text/html
で、MIMEタイプを指定するのはどうでしょう?

この回答への補足

mod_rewriteを使う方法は、ファイルひとつひとつについていちいち設定するのが面倒そうなので、やめておきます。

MIMEタイプの指定なのですが、その方法だとhttp://www.example.com/exampleは表示されますが、今度はhttp://www.example.com/example.htmlは表示されなくなってしまいました。
両方で表示できるサイトを知っているのですが、そのようにする方法はないのでしょうか。
あと、この方法だとexample2.cssをexample2で表示することは同時にはできないようですが、どのようにすればいいのでしょうか。

補足日時:2006/08/20 21:38
    • good
    • 0

.htaccessには


IndexIgnore *,*,…
[*は拡張子の.以降の部分]
というのがありますが
これはファイル名の拡張子を見せないのではなく
特定の拡張子のファイルを見せないようにするときに使います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
参考にさせてもらいます。

お礼日時:2006/08/20 21:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!