• ベストアンサー

もう限界です間違い教えてください 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を/○○/ にするだけです 以上

質問者が選んだベストアンサー

  • ベストアンサー
  • t-okura
  • ベストアンサー率75% (253/335)
回答No.1

> RewriteRule ^/$i/$ $i.php?a=$a $i や $a って何ですか ? なぜ、1番の RewriteRule と書式を変えているのですか ?

iinnffoo
質問者

補足

こんにちわっ! あのですね・・・。 自分でも初体験なんです。 SEO対策とページの最適化を勉強しておりました。 ヤフーだったりphpの説明書などありとあらゆるサイトを機能1日中探し回り色んな方法でためしてました。 書式も推測とサイトを参考にしました。 $i $sの意味も分かりません。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • mod_rewriteの書き方について

    mod_rewriteの書き方について いつもお世話になっております。 mod_rewiteについて質問させていただきます。 複数の設定をしたいのですが、404のエラーが出てしまい思っている動作になりません。 -------------------------------------------------- RewriteEngine on (1) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule hoge/(.*)\/(.*)\/(.*)\/(.*)\.html$ /hoge/$1/$2.php?$3=$4 [L] RewriteRule hoge/(.*)\/(.*)\/(.*)\/(.*)\/(.*)\/(.*)\.html$ /hoge/$1/$2.php?$3=$4&$5=$6 [L] (2) RewriteRule (.*)\.html$ /$1.php [L] -------------------------------------------------- 上記の設定を記載しております。 (1)はパラメーターがあった場合、URLの書き換えをしています。 ここはちゃんと動作しております。 (2)で、http://www.hoge.com/dir/index.html にアクセスした場合 /dir/index.php を呼び出すことに成功はしています。 ただ、http://www.hoge.com/dir/category.html にアクセスした場合 PHPファイルではなく、HTML(/dir/category.html)の場合404のエラーになってしまいます。 分かりづらい説明で申し訳ございませんが、ご教示よろしくお願いいたします。 [環境]  PHP:5.1.6  Linux:調べられません・・・わりと新しいバージョンです。

  • 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がループして困っています。

    お世話になります。 mod_rewriteについて質問させていただいたものです。 おかげさまで、動的ページを静的に変更することができました。 が、最後にまた困ってしまったので、教えてください。 (1)hoge/mod_12.html で (2)hoge.php?mod=12 にアクセスできるようになりました。 が、(2)で保存された検索エンジンのランキングを、(1)に引き継ぐため、 .htaccessにつぎのようなコードを書いたところ、ループしている旨のエラーが出てしまいます。 RewriteEngine on RewriteCond %{QUERY_STRING} ^(.*)=(.*)$ RewriteRule ^hoge.php$ http://×××/hoge/%1_%2.html? [R=301,L] RewriteEngine on RewriteRule ^hoge/(.*)_(.*).html$ hoge.php?$1=$2 [L] 確かに、ループしているのですが、回避方法が分かりません。 オプションの設定で回避できないかと、オンラインマニュアルも見たのですが、OS・TCP/IP等の知識が乏しいためか、解読できません。 すみませんが、ループの回避の仕方を、ご教授の程、よろしくお願いいたします。

  • 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で整形してリダイレクトすると

    教えてください。 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について分からないことがあります。 (phpなど勉強を始めたばかりで質問の意味が分かりにくいかもしれません) やりたいことは実際には存在しないhtmlのサイトを検索にスクロールしてもらって クライアントから要求があったアドレスに従いデータベースから任意のデータを表示すると いったものです。 例えば 1000.html 1001.html 1002.html・・・・・に要求があった場合phpの$_SERVER['HTTP_HOST']を 使って要求のあったアドレスを抜き取り任意のhtmlを表示させるといった事を考えています。 リダイレクト自体は初心者向けのサイトを見て簡単にできたのですが、 1000.html 1001.html 1002.html・・・ の部分を一度に表記する方法はないでしょうか。(1000.html~5000.htmlのようなこの範囲を全て条件としてRewriteCondに入れたい) 最終的には5000ページ程度を考えているため一つ一つ記載するのは難しいです。 RewriteEngine on RewriteCond %{HTTP_HOST} ^(1001\.html)(:80)? [NC] RewriteRule ^(.*) http://abcdefg.com/$1 [R=301,L]

  • 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について

    .htaccessにて、mod_rewriteを使用して、URLの書き換え を行いたいのでがうまく動作してくれません。 上記の記述で http://www.aaaaaaa.jp/php/user/bbb/index.php を http://www.aaaaaaa.jp/bbb/ に変更したいのですが どのように記述したら、動作するのでしょうか。 ご教授をお願いします。 RewriteEngine on RewriteRule ^bbb$ /php/user/bbb/index.php [L] 上記だと、http://www.aaaaaaa.jp/php/user/bbb/index.php のままです。

    • ベストアンサー
    • PHP
  • mod_rewriteで静的化(PHP)

    ご質問です。 例えば以下のような静的なページをmod_rewriteを使って.htaccessで作成しようとしています。 RewriteRuleの記述内容がよくわからず困っています。 また、.htaccessは、どのディレクトリに配置すればよいでしょうか。 どなたかご存知でしたら教えて下さい。 http://localhost/free/index.php?action=member →http://localhost/free/member http://localhost/free/index.php?action=bbs →http://localhost/free/bbs http://localhost/free/index.php?action=usr →http://localhost/free/usr このような記述をしていますが、ご指摘お願いします。 ---------------------- DirectoryIndex index.php RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([0-9A-Za-z)]+)$ index.php?action=$1 [L] ---------------------- 宜しくお願いします。

    • 締切済み
    • PHP