• ベストアンサー

URLの正規化がうまくできません。

只今、URLの正規化を行っておりまして、「www有り無し」はhtaccessを使用し、うまくいったのですが「index.html有り無し」が何度やってもうまくいきません。 そこで、自分のサイト内のリンクを全て、相対パスから絶対URLへと修正したのですが、まだ正規化ができてません・・・現在サイトは50ページぐらいのものなので見逃してはないと思うのですがもしどこかに相対パスが残っているのであれば、それを調べる方法はあるのでしょうか? また、他に原因がある可能性があるのでしょうか? この件で3日程、悩んでおります。 是非、どなたかお答え頂けましたら助かります。

  • HTML
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • naokita
  • ベストアンサー率57% (1008/1745)
回答No.2

#1です(お礼/補足拝見済み) なんでコピペで間違うんだろう?・・・ RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.○○○\.jp RewriteRule ^(.*) http://○○○.jp/$1 [R=301,L] RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ http://○○○.jp/$1 [R=301,L] 最終行は改行。 タイムラグが発生する事もある。 Options +FollowSymLinksが必要か不要か? そもそもindex.htmlなの?って話・・・ 下層にも.htaccessがあるとか・・・

ejisan
質問者

お礼

naokita 様 naokita 様のソースで解決致しました!! 本当に助かりました。 有難う御座います。

その他の回答 (1)

  • naokita
  • ベストアンサー率57% (1008/1745)
回答No.1

301リダイレクトに関しては、 相対パスだろうが、絶対パスだろうが無関係です。 .htaccessの内容が間違っていると思う。説明よりソースを書けばよいのに・・・ 見逃しは、テキストエディタなどで、 index.html を検索すれば良い。 .htaccessのindex正規化に関しては、先日も同じような回答をしましたが、 http://okwave.jp/qa/q7939079.html

ejisan
質問者

お礼

早急のご回答ありがとうございます。 ご返信遅くなりました。 http://oshiete.goo.ne.jp/qa/7939079.html コチラの内容をもとに、再度挑戦してみます。 naokita様 有難う御座いました。

ejisan
質問者

補足

やはりうまくいきません。 naokita様のご指摘通りソースを記載致しますので間違いがありましたら教えて頂ければ助かります。 下記コードでwww無しの統一は出来ているのですが・・・ RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.○○○\.jp RewriteRule (.*) http://○○○/$1 [R=301,L] RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$http://○○○/$1 [R=301,L] ご指導の程、宜しくお願い致します。

関連するQ&A

  • htaccessでurlの正規化しかし・・・

    htaccessでindex html有りなしの正規化をしました。 ▼ソース # URLの正規化(index.html無し) Options FollowSymLinks RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ http://scinex-fw.co.jp/$1 [R=301,L] これで一安心と思いきや、問題が発生しました。 フォームにフリーのCGIを使用してるのですが、 確認ボタンを押すと「403 Forbidden」が返されてしまいます! CGIはまったくわかりませんが、 通常は確認ボタンをクリックすると「mail.cgi」か「config.cgi」 おそらく「mail.cgi」が「kakunin.html」を表示させる手はずだと思います。 htaccessの設定前まではうまくいっていたのですが、 現在はhtaccessを消さないと「403 Forbidden」が呼び出されます。 何か解決方法はございませんでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • URLの正規化について

    サイトのURLを「wwwなし」「index.htmlなし」の『http://thai-kosiki.net/』に統一したいと思い、 .htaccessファイルを作りサーバーのルートディレクトリにアップロードしました。 『http://thai-kosiki.net/index.html』と入力すると、自動的にURLが『http://thai-kosiki.net/』に置き換わるのですが、『http://www.thai-kosiki.net/』や『http://www.thai-kosiki.net/index.html』と入力すると「このウェブページにアクセスできません」と出てきます。 これは「wwwなし」にチャント正規化できていないと言うことなのでしょうか? .htaccessファイルの内容は以下です。 <Files ~ "^\.(htaccess|htpasswd)$"> deny from all </Files> Options -Indexes RewriteEngine on RewriteCond %{HTTP_HOST} ^(www\.thai-kosiki\.net)(:80)? [NC] RewriteRule ^(.*) http://thai-kosiki.net/$1 [R=301,L] order deny,allow Options FollowSymLinks RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ http://thai-kosiki.net//$1 [R=301,L] アドレスにwwwを付けても自動的に『http://thai-kosiki.net/』に置き換わるようにするにはどうしたらいいのでしょうか? どうぞよろしくお願いします。

  • 正規表現でURLを抽出するには。

    正規表現でURLを抽出するには。 HTML内リンク先などのURLを正規表現で抽出したいのですが。 HTML内で表記されているURLはhttpやhttps以外にも相対URLなど様々な書き方が できるようですが、それらを抽出する正規表現パターンはどの様に書けばよいのでしょうか?

    • ベストアンサー
    • Perl
  • URlについて

    相対パスを絶対パスに変えたいのですが、 どのような方法があるでしょうか? 【URL】 http://www.example.com/aaa/index.html 【相対パス】 <img src="../bbb.jpg"> ../bbb.jpg 【絶対パス】 <img src="http://www.example.com/bbb.jpg"> http://www.example.com/bbb.jpg

    • 締切済み
    • PHP
  • URL正規化について教えてください。

    下記のようにPCとSPページを別々のURLで設定した場合について、正規化する方法を教えていただけますでしょうか。 PCページ (1)http://aaa.com/ (2)http://aaa.com/index.html SPページ (3)http://aaa.com/sp/ (4)http://aaa.com/sp/index.html (1)と(2)、(3)と(4)は、それぞれindex.htmlの有無の違いのみで、同一ページです。 (1)、(2)のSP版がそれぞれ(3)、(4)となります。 一般的な方法で正規化をしたいのですが、リダイレクトを全く使用せずに、alternateとcanonicalによる正規化のみで対応することは可能でしょうか。またその方法を教えてください。 それとも、301リダイレクトとalternate・canonicalを織り交ぜて正規化する方法が一般的なのでしょうか。。色々調べてみましたが、よく分かりません。。 よろしくお願いします。

  • さくらサーバーでURLの正規化ができません。

    wwwをなし、index.htmlをともに、無しにしたいのですが、うまくいきません。 以前ににも、同じような質問があったので、いろいろ試してみました。 さくらサーバーのマルチドメインでサイトを作ってます。 さくらインターネットはURLの正規化で一般的に記述する「Options +FollowSymLinks」が使えないということでこちらのサイトを参考に「.htaccess」を作成しました。 /www/のところにアップし、種類も.htaccesファイルになっているようなのですが、 wwwをつけて、検索すると、wwwがついたままで、無しで検索するとないままの表示です。 index.htmlをつけてると、そのまま、index.htmlと付いたまま表示されます。 参考サイト http://d.hatena.ne.jp/web-ma/20100301/1267415998 ▼wwwあり・なし RewriteEngine on RewriteCond %{HTTP_HOST} ^lusso-me.jp RewriteRule ^(.*)$ http://www.lusso-me.jp$1 [R=301,L] ▼index.htmlあり・なし RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ http://www.lusso-me.jp$1 [R=301,L] ほかのサイトもチェックして、いろいろやってみたのですが、エラーもでず、変化がありません。 よろしくお願いします。

  • index.htmlの省略

    私のサイトのトップページへのリンクはすべてcom/で区切っていますが、 その下のディレクトリにもcom/A/index.htmlがありまして その場合トップページからだとcom/A/なんですが、そのA/index.htmlのサイトのコンテンツからは相対パスなのですべてindex.htmlになってます。 Googleなどから見ると、最初にインデックスするのはトップページなのでそこから見に来た場合、A/にくると思います。そしてインデックスすると思いますが、 それ以降その中のコンテンツを見てもすべて相対パスでindex.htmlです。そうすると違いが出てきて、A/のサイトはトップからのリンク一つで、index.htmlへのリンクはその下のコンテンツから30のリンクをもらっていることになります。 これはAのディレクトリの中のindex.htmlへのリンクはすべて絶対パスでやったほうがいいのですか。 それともトップページからのリンクを相対パスでindex.htmlありにしたほうがいいのでしょうか。 Googleでサイトオープンして3ヶ月くらいたつのにトップとそのディレクトリの中のindexしか登録されていない状況です。関係あったりしますか。サイトマップ送ったりもしましたが。 Yahooではほとんどインデックスされその後カテゴリにも登録されました。

    • ベストアンサー
    • HTML
  • URLの正規化について(MT利用)

    はじめまして。 URLの正規化について、悩んでおります。 わかる方がいらっしゃれば、ご指導願います。 【環境】 ドメインは、さくらで取得。 レンタルサーバーは、さくらのスタンダード。 CMSを使っており、MovableType4.25。 FTPにて管理。 取得したドメインのサブドメインを使って、ブログを制作。 【仮定】 取得ドメイン:example.com サブドメイン:〇〇〇 【悩み・現状】 制作して半年ぐらいになり、それなりに集客も出来るようになってきたのですが、最近気付いたことがあります。 それは、重複のURLが非常に多いということ・・・。 異なるURLだけど、同じ内容のものが4つも存在している現状です。  http://〇〇〇.example.com/  http://example.com/〇〇〇/  http://www.example.com/〇〇〇/  http://example.sakura.ne.jp/〇〇〇/ 上記4つのURLが同じ内容になっています・・・。 もしかしたら、見つけられていないだけで、他にもあるかも。 インターネットを色々調べていると、わかったこともあります。 <link rel="canonical" href="http://〇〇〇.example.com/">をhead内に入れる。  ⇒しかし、これは全ページに入れる必要があるかどうかが不明。   http://〇〇〇.example.com/△△△/というページを作成した時、このページにも<link rel="canonical" href="http://〇〇〇.example.com/△△△/">を入れなければならないとなると、とんでもない手間になるのではないか。 htaccessでリダイレクト? 仕組みはわかるのですが、どこにどのように入れればいいのかが不明。 【理想・質問】 http://〇〇〇.example.com/ の1つのみにしたい。 それが可能かどうか。 可能であれば、そのやり方。 不可能であれば、SEO上、最も有効な手段は何か。 また、この4つも重複URLがあるのって異常ですよね? 長文になりましたが、何卒、宜しくお願いします。 ※FTPのフォルダを見ると、 /home/example/www/ ↑この階層の下に、 mt/・・・ △△△/・・・ .htaccess index.html というフォルダを置いています。 置き方がまずいのでしょうか・・・。

  • 絶対パス 相対パス SSL https

    無知な者ですので質問も稚拙かもわかりませんが よろしくお願いいたします。 現在、WEBサイトを制作する際に SSLで暗号化されたページにリンクする場合、 相対パスでリンクするとURLが「https://~」ではなく 「http://~」となってしまう為、 「https://~」と絶対パスでリンクしています。 これを相対パスでリンクさせる方法がありますでしょうか? もしございましたら、お手数ですがお教え願えますでしょうか? よろしくお願いいたします。

  • 自作のエラーメッセージ作成について

    404エラーに対して自作のエラーメッセージを表示させたいのですがうまくいきません。 エラーメッセージ自体はerrフォルダに404.htmlという名称で作成しています。 具体的には、.htaccess内の記述 「ErrorDocument 404 http://アドレス/err/404.html」 このように絶対パスで記述すると、存在しないページのURLに飛んだ時自作メッセージが表示されるのですが、 「ErrorDocument 404 /err/404.html」というように相対パスで表記すると表示できません。 出来れば相対パスで記述して表示できるようにしたいのですが、どうしたら良いのでしょうか? ちなみに.htaccess及びerrフォルダはindex.htmlと同列に置いています。

    • ベストアンサー
    • HTML

専門家に質問してみよう