• 締切済み

mod rewriteでURLを変更したい

現在作成中のHPのURLのTOPが http://www.hogehoge.net/html のものを http://www.hogehoge.net/に全て書き換わるようにしたいのですが・・・ htaccessにmod rewriteを適用すればいいという情報を仕入れはしたのですが、具体的にどのようにすればよいかが分かりません。 具体的な方法を教えて頂けないでしょうか。 宜しくお願いいたします。

みんなの回答

  • gentaro
  • ベストアンサー率47% (105/221)
回答No.1

mod rewriteはapacheなどのhttpサーバーソフトのモジュールで、 お使いのWEBサーバーにインストールされていなければ使えません。 ご自分のサーバーならmod rewriteをインストールすればOKですし、 レンタルサーバーなら、問い合わせして、使えるかどうか聞くしかないですね。 インストールや記述方法はネットで検索するとたくさん出てきます。

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

関連するQ&A

  • mod_rewriteでURLを書き換えたい

    現在掲示板を運営していますが、Googleなど検索サイトからのクロールがうまく行われません(サイトマップなどは試しました)。 URLに“?”や“=”が含まれる動的なページはクロールされずらいことがあるとのことで、調べてみると、mod_rewriteを使うことで 静的ページのように表現できるということまでわかりました。 また、レンタルサーバに問い合わせた結果、mod_rewriteは.htaccessファイルに記述することで使用することができるとのことでした。 (例)http://www.aa.com/bb.php?cc=123 現在上記のようなURLで、最後の数字が入れ替わるようになっています。 このURLの“?”や“=”を“/”などを代用するなりして表示されないようにしたいと考えておりますが、 いろいろ調べてみましたが、私のスキルでは具体的にどのように書けばよいのかわかりませんでした。 .htaccessにいかように記述すればよいのでしょうか。 アドバイスのほどよろしくお願いいたします。

  • mod_rewrite について

    MVC モデルで web app を作る場合、mod_rewrite で url を「書き換え」て、1つのソースコードですべてのアクセスを処理する、 みたいなことはよくやられると思うのですが、 巷の情報を漁ってみると、 「mod_rewrite では post で渡されたパラメタを取得できない」 とのことでした。 でもこれって、リダイレクトした場合に、そうなることがありえるって話ですよね? mod_rewrite って、url を「書き換え」てるだけじゃないんでしょうか? url を書き換えて、リダイレクトまでされているんでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • mod_rewriteで動的ページを静的に変更

    PHPのカテゴリで同じ質問をしているのですが、3日目になっても、回答がいただけないので、同じ質問をさせていただきます。 動的ページを静的なページにしようとして、mod_rewriteの勉強をはじめようとしているのですが、疑問が出てきたので、確認させてください。 「何を当たり前のことを言ってるんだ。」と思われるかもしれませんが、教えて下さい。 htaccessからmod_rewriteを用いて、 (1)sampl.php?mod=1&id=3 を見かけ上、(2)sample/mod_1/id_3.html のようにすることは、mod_rewriteでできるということですが、 サイト全体を静的に見せようとしたら、プログラム側の呼出し(サイト内のリンク)を、(1)の形式から(2)の形式に全て変更しないといけないのでしょうか? htaccessだけをいじれば、静的にできると思い込んでいたのですが、 プログラムを変更しないといけないとなると、覚悟が必要なもので。。。

  • mod_rewriteによるURLの書き換え

    mod_rewriteを使ってURLの書き換えを行いたいのですが、どうしてもうまくいきません…。 http://***.main.jp/rewrite/name/index.shtml?total=num にアクセスされた場合に http://***.main.jp/rewrite/php.php?title=name?total=num に切り替えて処理させたいと思っています。 .htaccessには RewriteEngine on RewriteRule ^(.*)/index\.shtml\?total=([0-9]*)$ rewrite/php.php?title=$1&total=$2 このように記述したのですが、書き換えが行われずにindex.shtmlの内容が表示されてしまいます。 どうか、ご教授いただけませんでしょうか? サーバーはロリポップを使用しています。

  • mod_rewrite / RewriteRule について教えて下さい

    私はプログラムが専門なのでmod_rewrite等サーバー関連に疎く、かなり調べましたがこれといった情報が見つからず質問させて頂きます。 まず、.htaccessにて RewriteRule ^(.*)/$ $1.php と記載しており、 http://www.foo.com/bar/ → http://www.foo.com/bar.php に置き換えております。 この部分については思った通りに置換されておます。 しかし http://oshiete1.goo.ne.jp/qa2509320.html こちらにも書かれてますように、HTML内の画像ファイルへの参照が相対パスで書かれておりますので、RewriteRuleを上記設定にすることでディレクトリ階層がズレてしまいます。 http://oshiete1.goo.ne.jp/qa2509320.html には「画像のパスも mod_rewrite で書き換えるというのが一番スマートのような気がします。」とありますが、その具体的な方法がこのQAには記載されておらず、どうやって書いたら良いか分からないでおります。 知りたいのはパスを置き換える.htaccessへの具体的な記述方法です。 今回、画像・CSS・JavaScriptが全て外部ファイルになっており、HTML側では全て相対参照で指定されております。 SVNによる複数人開発のため絶対パスの指定が出来ませんので、相対指定で何とかならないものかと試行錯誤しております。 OSはCentOS4.3です apacheはyumでインストールしたものでhttpd-2.0.52-28となっております。 宜しく御願いいたします。

  • mod_rewriteでアドレスを書き換えたい

    mod_rewriteでアドレスを書き換えたい思っています。 xamppでテストしていますがうまくいきません。 mod_rewrite.soの#は外しています。(つまり、.htaccess以外の設定はできていると思います) 【やりたい事】 localhost/test/index.php?p=test を  ↓ localhost/test/i/test でアクセスしたいです。 【参考にした情報】 http://www.sample.com/cgi-bin/sample/sample.cgi?a=123&b=456 というURLを静的なアドレスでアクセスできるように以下のように設定します。 RewriteEngine on RewriteRule ^/cgi-bin/sample/([0-9A-Za-z]+)/([0-9A-Za-z)]+)\.html$ /cgi-bin/sample/sample.cgi?a=$1&b=$2 [L] を言うのを見つけました。 【試したこと】 .htaccessをつくり RewriteEngine on RewriteRule ^/test/i/([0-9A-Za-z)]+)$ /test/index.php?p=$1 [L] と記入 【結果】 Object not found! 要求された URL は本サーバでは見つかりませんでした。 もし手入力で URL を入力した場合は、綴りを確認して再度お試し下さい。 と表示されました。 ------------------------------------------------------------------ localhost/test/i/testでアクセスするには、.htaccessをどう書けばいいのでしょうか? 疑問1.xamppでlocalhostでmod_rewriteができるのだろうか? 疑問2.参考にした情報のRewriteRuleの"^"がわからない。正規表現の"^"とは文頭にマッチすると思います。この場合の文頭とは? よろしくお願いします。

  • .htaccessにmod_rewriteを設定して静的なURLにしたい

    .htaccessにmod_rewriteを設定して、動的なページのURLを静的なURLにしたいのですが、うまくいきません。 http://localhost/test/hoge.php/aiueo というURLで http://localhost/test/hoge.php?key=aiueo になるようにしたいのです。 検索して試しに以下のように記述したのですが、ダメでした。 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/test/hoge.php/(.+) /test/hoge.php?key=$1 [L] </IfModule> また「aiueo」の部分にスラッシュを含む場合もあるのですが、その際にも対応できるようにしたいです。 ご回答の程、よろしくお願いします。

    • ベストアンサー
    • PHP
  • mod_rewriteを使用するための設定について

    お世話になります。 mod_rewriteの設定についてアドバイスいただきたいと思います。 今までレンタルサーバーで.htaccessを使って、動的URLを静的URLでアクセスさせることに用いていたのですが、自前サーバー(FedraCore2.0+Apache2.0.53)にその.htaccessファイルを移してみたところ、思ったような動作をしてくれません。色々なサイトを参考に見て回ったところ、「httpd.conf」が怪しいと感じたのですが、 LoadModule rewrite_module modules/mod_rewrite.so LoadModule proxy_module modules/mod_proxy.so の箇所もコメントアウトされておりますし、過去ログにもあったバーチャルホストの併用もしておりません。 ちなみに.htaccessは下記のような内容です。 DirectoryIndex index.htm index.php .ht RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^doc-([0-9]+).htm+ doc.php?number=$1 レンタルサーバーでは問題なく動作しておりましたので、.htaccess側の問題ではなくApache側の問題だと思っております。どなたかアドバイスの程よろしくお願いいたします。

  • mod_rewriteを使ってURLの書き換えがどうしてもできません。

    以下のページを参考にURLの書き換えにチャレンジしました。 http://tech.bayashi.net/svr/doc/apache/mod_rewrite.html 私の場合は以下のURLを http://example/list.html?ct=category&ed=34 以下のように書き変えたいと考えています。 http://example/list/category/34 ―.htaccess RewriteEngine on RewriteRule ^/list/([0-9A-Za-z]+)/([0-9A-Za-z]+)$ list.html?ct=$1&ed=$2 [L] このように記述したのですが、私としてはこれで問題ないと考えているのですが、なぜかできません。どこかにミスはないでしょうか……? ちなみに、.htaccessに以上のように記述して http://example/list.html/category/34 にアクセスしたところ以下のように表示されました。 Object not found! 要求された URL は本サーバでは見つかりませんでした。もし手入力で URL を入力した場合は、綴りを確認して再度お試し下さい。 サーバーの障害と思われる場合は、ウェブ管理者までご連絡ください。 Error 404 ...

    • ベストアンサー
    • PHP
  • 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