【Apache】mod_rewriteについて語るスレ (686レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
524: nobodyさん [age] 2011/02/20(日) 11:59:15.05 ID:??? AAS
phpベースのサイトを運営しているのですが、SEO対策のためにサイト全体をhtmlとして動作するように変更したいと考えて
います。※サイト上にはphpファイルしか置かない。(htmlファイルは設置しない)
具体的には以下のようにしたいと考えています。
※サイト上に設置している「phpinfo.php」の表示を例にあげています。
1.htmlアクセス(http://phpinfo.html)を、phpにリライトする。
つまり、URLは「http://phpinfo.html」のまま
「http://phpinfo.php」 の実行結果を返す。
------------------------------------
RewriteRule (.*).html$ /$1.php [L]
------------------------------------
2.phpアクセス(http://phpinfo.php)を、htmlにリダイレクトする。
つまり、URLが「http://phpinfo.html」となり、
「http://phpinfo.php」 の実行結果を返す。
------------------------------------
RewriteRule (.*).php$ /$1.html [R=302,L]
------------------------------------
上記の対応を実際してみたのですが、なぜかリダイレクトがループしてしまいました。
1.と2.のどちらか一方のみであれば正常動作するのですが、両方記述するとリダイレクトがループします。
原因と対処法をご存知のかたがおられましたらお手数ですがご教授よろしくお願いいたします。
636: nobodyさん [] 2012/10/29(月) 20:46:56.05 ID:jAMWqNZ2(1/2) AAS
質問させてください
現在Apacheのバーチャルホスト機能を利用しています
■VirtualHostの設定はこのようになっています(DocumentRootは同じ)
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /home/hoge/public_html
</VirtualHost>
<VirtualHost *:80>
ServerName www.example2.com
DocumentRoot /home/hoge/public_html
</VirtualHost>
■やりたいこと
1) http://www.example.com/hoge/でアクセスがあった場合
/home/hoge/public_html/index.php?id=hogeを表示したい。
RewriteRule ^([a-z0-9_-]+)/$ /home/hoge/public_html/index.php?id=$1 [L]
2) http://www.example2.comでアクセスがあった場合
/home/hoge/public_html/index.php?id=hogeを表示したい。
RewriteRule ^$ /home/hoge/public_html/index.php?id=hoge [L]
つまり、異なるドメインで同じページを表示したいのです。
このRewriteRuleを両方書いても最初に書いたルールしか適用されません。
オプションが問題なのでしょうか?よろしくお願いします。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.032s