質問
- .htaccessについて
-
本文:
サイトのURLから.htmlを消したくていろいろ試行錯誤しましたが結果が変わりませんでした。
RewriteEngine On
RewriteCond %{REQUEST_URI} /[^./]+$
RewriteRule (.*) $1.html
と記述してUTF-8で保存、.htaccessというファイルでサイトの一番上の階層に保存しました。
結果はサイトを開いても.htmlは残ったまま。ためしに.htmlをのぞいたURLを打つと、
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, admin@q-chemistry.site and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
というサイトが返ってきました。
謎なのはindex.htmlがなくなったこと。
昔はxxxxxx.site/index.htmlだったのが
xxxxxx.siteだけで表示されるようになりました。
関係あるかわかりませんが参考までに載せておきます。
どなたかご教授よろしくお願いします。 - 緊急度:急ぎ投稿者:九大化研部さん投稿時間:2017/07/05 17:31
回答 No.6222
-
本文:
mod_rewrite は、黒魔術ですから、ウェブクロウのような、ログもまともに取れないサーバーでなく、ちゃんと rewrite_log の取れるサーバーで動作確認してから、ウェブクロウで動かすべきですよ。
一応、マクロなんで、終了条件をしっかり把握しないと、無限ループにもなるし、暴走もするので、同居のサーバーにも迷惑が及ぶので。 - 投稿者:ジョバンニさん 投稿時間:2017/07/05 18:41
回答 No.6224
-
本文:
>と記述してUTF-8で保存、.htaccessというファイルでサイトの一番上の階層に保存しました。
メモ帳でUTF-8で保存するとBOMがつくので、質問文のようにエラーになる。
日本語が混ざらないのなら、ANSIで保存しても同じなので、それで保存すれば、とりあえずエラーにはならない。
メモ帳以外のものを使うべきだとは思うけど・・。 - 投稿者:k-tanさん 投稿時間:2017/07/06 01:05
回答 No.6223
この回答がベストアンサーです
>>
昔はxxxxxx.site/index.htmlだったのが
xxxxxx.siteだけで表示されるようになりました。
<<
これは、なにも設定しなくてもそうなる。
http://example.com/でアクセスすると
自動的に
http://example.com/index.html
を呼び出すように、初めからなっている
■
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]
動作保証はできないけど、こんな感じでできるのでは?
上記で
http://example.com/test100.html
http://example.com/test100
のどちらでもアクセスできるはず。
質問者からのコメント
その通り記述したところできました!
ご教授ありがとうございました。