• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:mod_rewriteの初歩的な質問なのですが)

mod_rewriteで任意のhtmlページを表示する方法は?

JaneDueの回答

  • ベストアンサー
  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.1

正規表現を使うとよいでしょう。 RewriteEngine on RewriteRule /([0-9]{4}\.html)$ http://example.com/$1 [R=301,L] ※ファイル名が 0~9(つまり数字)が4つ連続して、.html で終わる($)場合、という意味。 [ mod_rewrite 正規表現 ] で検索してみて

関連するQ&A

  • httpsでmod_rewriteができない

    はじめまして。 Linux環境で、apacheのhttp.confにmod_rewriteを記載し、httpsとhttpを切り替えたいと思っています。 httpd.confに以下のように記述しています。 <IfModule mod_rewrite.c> RewriteEngine on  #(1)httpで/aaaa/bbbbにアクセスされたときにhttps://~に変えたい RewriteCond %{REQUEST_URI} ^/aaaa/bbbb RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R]  #(2)httpsで/cccc/ddddにアクセスされたときにhttp://~に変えたい RewriteCond %{REQUEST_URI} ^/cccc/dddd RewriteCond %{HTTPS} on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R] </IfModule> 上記(1)のhttpでのアクセス時には、mod_rewriteが効いてhttpsへ切り替えられるのですが、 上記(2)のhttpsでのアクセス時には、mod_rewriteが効いていないようでhttpへ切り替えられません。 rewriteログを見てみると、当サイトへhttpでアクセスした場合にはログが出力されますが、 httpsでアクセスした場合には出力されません。 そもそもhttpsでのアクセスの場合にhttpd.confのmod_rewriteが効いていないようです。 ですが、これに対しどこを調査すべきかが分かっていません。 SSLの設定自体は出来ていると思っていて、 https://xxxx.jpのようにアクセスするとちゃんとページが表示されます。 どの当たりに問題がありそうでしょうか? 解析のヒントを頂けたらと思います。 宜しくお願い致します。

  • mod_rewriteについて

    mod_rewriteの質問です。 RewriteEngine on RewriteCond %{TIME_DAY}.html -s RewriteRule index.html test.php RewriteRule index.html %{TIME_DAY}.html と記述しているのですが、 %{TIME_DAY}.html が存在するのに、 RewriteCond部分でないと判定され、 %{TIME_DAY}.html が読まれてしまいます。 RewriteCond部分の条件部分の記述方法が間違っているのでしょうか?

  • mod_rewrite について

    mod_rewrite について お世話になります。php初心者です。 URLのリライトを行いたくて色々調べてみたのですが問題が解消できず質問させて頂きます。 (サブドメインを使用しています) htaccessに下記のように記述しました。 RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.test\.aaa\.ne\.jp)(:80)? [NC] RewriteRule ^(.*)$ http://test.aaa.ne.jp/$1 [R=301,L] すると、 「http://www.test.aaa.ne.jp」 は、 「http://test.cns.ne.jp」 とならずにエラー画面が表示されます。(エラーコード404) URLの表示方法を換えたいと考えております。 (●●●できたら×××と表示する) それともそもそもの私の捉え方が間違っているのでしょうか。 サブドメインを使用しているからでしょうか。 ご教授頂けると大変ありがたいです。 宜しくお願い申し上げます。

    • 締切済み
    • PHP
  • もう限界です間違い教えてください mod_rewrite .htacsessのりダイレクト

    間違い教えてください エイチティティアクセスファイルに 1番 RewriteEngine on RewriteCond %{HTTP_HOST} ^(hoge\.jp)(:80)? RewriteRule ^(.*) ​http://www.hoge.jp/$1​ [L] 2番 RewriteEngine on RewriteRule ^/$i/$ $i.php?a=$a 上の二つ記述してます 2番が効きません ○○.phpを/○○/ にするだけです 以上

  • mod_rewriteで整形してリダイレクトすると

    教えてください。 http://blog.livedoor.jp/trisys/archives/3950417.html のように http://www.test.com/?page=1にアクセスすると http://www.test.com/1/にリダイレクトするようにできました。 しかし、 404エラー表示されます。 どうしたらいいのでしょうか? .htaccessに記載した内容は下記のとおりです RewriteEngine on RewriteCond %{THE_REQUEST} ^GET\ /\?page=([0-9]*)(.*)$ RewriteRule ^.* http://%{HTTP_HOST}/%1/? [L] よろしくお願い致します。

    • 締切済み
    • PHP
  • mod _rewriteによる二重リダイレクト

    mod_rewriteで下記のようなことをしたいと思っています。 1.http://~/ABCDEFG.jpgにアクセスがあったら、 2.http://~/AB/CD/EFG.jpgにリダイレクトする。 3.http://~/AB/CD/EFG.jpg がなかったらhttp://~/NO.jpgにリダイレクトする。 2.まではできるのですが、3.に進みません・・・。 このようなことを実現できないでしょうか。すごく困っております・・・。 お手数ですがご教示いただけないでしょうか。 ---- 以下2.までできたmod_rewrite <DirectoryMatch ~> <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ([a-z0-9A-Z][a-z0-9A-Z])([a-z0-9A-Z][a-z0-9A-Z])([a-z0-9A-Z]+\.jpg) $1/$2/$3 [L] </IfModule> </DirectoryMatch>

    • ベストアンサー
    • PHP
  • mod_rewriteが効かない!

    サーバの運用上、mod_rewriteを使う必要が出来たので設定してみたのですが効きません。 FreeBSD4.11+Apache1.3.33で httpd.confファイルに直接書き込んで試しています。 LoadModule rewrite_module modules/mod_rewrite.so AddModule mod_rewrite.c のどちらも書いてあるにもかかわらず、下記のテスト設定を試してみたらローカルIPからアクセス出来てしまいます。 RewriteEngine on RewriteCond %{REMOTE_ADDR} ^192\.168\.1\. ←ローカルネットワークのアドレス RewriteRule ^.*$ - [F] どのようにしたらいいですか? アドバイスお願い致します。

  • httpからhttpsへのリダイレクト方法

    すいません、よくわかりませんので教えて下さい。.htaccessに記述してhttpにアクセス来たものをhttpsへリダイレクトしたいです。 今の状況は下記です。 AddHandler application/x-httpd-php53 .php RewriteEngine On # Main RewriteRule for multidomain. RewriteCond %{HTTP_HOST} ^(sanetsu.com) RewriteCond %{REQUEST_URI} !^/(sanetsu.com)/ RewriteRule ^(.*)$ http://www.sanetsu.com/$1 [L] # Main RewriteRule for multidomain. RewriteCond %{HTTP_HOST} ^(www.burikama.com) RewriteCond %{REQUEST_URI} !^/(www.burikama.com)/ RewriteRule ^(.*)$ /%{HTTP_HOST}/$1/ [L] # Main RewriteRule for multidomain. RewriteCond %{HTTP_HOST} ^(burikama.com) RewriteCond %{REQUEST_URI} !^/(burikama.com)/ RewriteRule ^(.*)$ http://www.burikama.com/$1 [L] # 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 すいません、上記の記述をどのように変更したらhttpsへリダイレクトさせることができますでしょうか?前任のweb担当の方と連絡が付かないので教えていただけたらありがたいです。 宜しくお願い致します。

    • ベストアンサー
    • HTML
  • mod_rewriteルールの正しさについて

    お世話になります。 mod_rewriteについて勉強を始め、動的ページを擬似静的ページに変換するルールを記述しようとしているのですが、一向に上手くいきません。。 どなたかアドバイスいただけませんでしょうか? 以下が、実際に組んでいるルールです。 -------------------------------------- RewriteEngine on RewriteRule ^/m/plan/detail/([0-9]+).php$ /m/plan/detail.php?gdid=$1 [L] -------------------------------------- として、例えば http://www.hoge.jp/m/plan/detail/1000.php にアクセスがあった場合に、 http://www.hoge.jp/m/plan/detail.php?gdid=1000 の中身を表示させたいのですが、 「ファイルがありません」の404エラーが返ってきます。。 ちなみに、rewriteモジュールが正しく動作することは確認出来ており、 例えば、 -------------------------------------- RewriteCond %{HTTP_USER_AGENT} (DoCoMo|Vodafone|J-PHONE|SoftBank|UP\.Browser|KDDI|Googlebot-Mobile|Y!J|Nokia) RewriteCond %{REQUEST_URI} !^/m/ RewriteRule ^(.*)\.php$ /m/$1.php [L] -------------------------------------- のようなモバイルサイトとPCサイトのURL正規化ルールは問題なく動きます。 お手数ですが、どなたかアドバイスいただけますと幸いです。

  • mod_rewriteについて

    いつもお世話になっております。 mod_rewriteを使ってURLの書き換えをしたいと思っております。 下記のようなファイルがあるとします。 http://www.domain.com/aaa/list.php http://www.domain.com/aaa/detail.php http://www.domain.com/bbb/list.php http://www.domain.com/bbb/detail.php PHPファイルはHTMLに書き換えています。 ---------------------------------------- RewriteEngine on # QUERY_STRING RewriteRule /([a-z]+)\/([a-z]+)\/([0-9]+)\.html$ /$1/$2.php?$3 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule (.*)\.html$ /$1.php [L] ---------------------------------------- http://www.domain.com/aaa/detail/2.html http://www.domain.com/bbb/detail/2.html 上記どちらにアクセスしてもページが表示されませんと なってしまいます。 どうぞ、ご教授お願いいたします。 <環境> PHP:4.3.2 Apache:2.0.40 (Red Hat Linux)

    • ベストアンサー
    • PHP