【Apache】mod_rewriteについて語るスレ
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
02/06/11 19:29ID:wH0rV3+D基本的な内容は↓ページを読むこと。
http://japache.infoscience.co.jp/rewriteguide/
http://japache.infoscience.co.jp/japanese_1_3_6/manual/mod/mod_rewrite.html
それではマターリ逝きましょう。
0638nobodyさん
2012/10/29(月) 22:36:47.55ID:jAMWqNZ2はい。レスありがとうございます。
設定は全部でこのようになっています。
RewriteEngine on
# 1) www.example.com用
RewriteRule ^([a-z0-9_-]+)/$ /home/hoge/public_html/index.php?id=$1 [L]
RewriteRule ^([a-z0-9_-]+)/([a-z]+)/$ /home/hoge/public_html/$2.php?id=$1 [L]
# 2) www.example2.com用
RewriteRule ^$ /home/hoge/public_html/index.php?id=hoge [L]
RewriteRule ^([a-z]+)/$ /home/hoge/public_html/$1.php?id=hoge [L]
1)は、http://www.example.com/hoge/でアクセスが会った場合、id=hogeになるようにしています。これを
2)で、http://www.example2.comでアクセスがあった場合、id=hogeになるような設定にしたいと思っています。
id=hogeは当然設定に記入する必要がありますよね。そしてアクセスがあった場合両方のドメインで同じようになるようにしたいのです。
よろしくお願いします。
0639nobodyさん
2012/10/29(月) 22:43:52.73ID:???0640nobodyさん
2012/11/19(月) 21:08:48.34ID:???0641nobodyさん
2012/11/19(月) 21:29:17.19ID:???0642nobodyさん
2013/03/21(木) 19:12:40.16ID:???このリンクを踏むとhttp://localhost/に飛んでしまいます
href="/"というリンクが使いたいので、ドキュメントルートをhttp://localhost/~example/にする方法を教えてください
0643nobodyさん
2013/03/26(火) 06:58:48.63ID:4K2kYRPh0644nobodyさん
2013/05/02(木) 20:24:29.83ID:bOBKpt7Iapache2.2から2.4への移行作業をしていて気づいたのですが
2.2のときはトップページへのアクセスを
RewriteRule ^$ /foo.php
としてリライトしてたのですが
2.4ではこの条件に該当しなくなってしまいました。
いろいろ試行錯誤したところ
RewriteRule ^(index\.html)?$ /foo.php
と書くとOKということが分かりました。
RewriteRule ^index\.html$ /foo.php
はNGでした。
回避策は分かったのですがなんだか気持ち悪いので質問してみました。
これは仕様が変わったのでしょうか?
0645nobodyさん
2013/05/08(水) 17:17:31.74ID:lLEBkj6zURLそのままで、外部のサイトを表示させたいです。
http://www.hogehoge.com/pages/test01/
を、
URL欄をそのままに
http://aaaa.hogehoge.com/pages/test01/ を表示させたいです
wwwの .htaccess に
RewriteRule ^pages/(.*)/$ http://aaaa.hogehoge.com/pages/$1/ [R,L]
って書くと、URLまで変わっちゃいます。
お願いします
0646645
2013/05/08(水) 18:14:47.04ID:???サーバーには、入ってませんでした (つд⊂)エーン
0647nobodyさん
2013/05/08(水) 19:12:39.58ID:???0649645
2013/05/11(土) 17:44:12.77ID:???パクリサイトの手口もそうやるんだろうけどさ。
0650645
2013/05/11(土) 17:45:21.64ID:???0651nobodyさん
2013/11/29(金) 03:52:26.84ID:???初期ドメイン から 独自ドメインに転送したいのでうまくいきません
RewriteEngine on
RewriteCond %{HTTP_HOST} ****?.sakura?.ne?.jp [NC]
RewriteRule .* http://www.*******.jp%{REQUEST_URI} [L,R=301]
Internal Server Errorが出てしまい
さくらのエラーログを見ると
/home/アカウント/www/.htaccess: Invalid command '\xef\xbb\xbfDirectoryIndex', perhaps mis-spelled or defined by a module not included in the server configuration
ログにあるようにwww配下に.htaccessを置いています
訳すとスペルミスかモジュールがないと言う事ですが
さくらサーバーは公式でmod_rewriteを利用できるみたいですし
記述が間違っていうのでしょうか
どうかよろしくお願いいたします。
0652nobodyさん
2013/11/29(金) 07:39:50.08ID:???0653nobodyさん
2013/11/29(金) 07:40:27.72ID:x026Ok3v>\xef\xbb\xbf
とりあえず、UTF-8のBOMだな、これ。
付かないように保存してみたら?
0654nobodyさん
2013/11/29(金) 09:56:58.90ID:qgN1e/+l0655nobodyさん
2014/03/27(木) 00:55:29.10ID:???特定のファイルへアクセスがあった場合には、そのファイルだけリダイレクトをかけたいです。
具体的には、
contact.html にアクセスが来た場合には、
contact.php ファイルに飛ばしたいと考えています。
どういうコードを書けば全ファイルでは無く、特定のファイルに対して.modrewriteを使えますか?
0656nobodyさん
2014/03/27(木) 04:10:08.99ID:???RewriteRule (.*)/contact.html$ $1/contact.php [R=301,L]
とかそんなんでいいんじゃないの
0658nobodyさん
2014/03/28(金) 20:25:13.28ID:???何か特別話題があるわけでもないし
とはいえ見てる人は見てるだろう、俺も専ブラのブックマークしてチェックはしてるし
一見過疎ってても案外すぐレスが付くところは珍しくは無い
0659nobodyさん
2014/03/29(土) 07:47:28.10ID:???>>655程度ならRedirectMatchで十分だろと思いつつ
にやにやしながら読んでるしw
0661sage
2014/04/06(日) 15:02:01.73ID:TmvJ2Q7/http://sample.co.jp/xxx/ にアクセスしたときに http://sample.co.jp/xxx.php を表示したくて、.htaccessに
RewriteEngine on
RewriteOptions MaxRedirects=1
RewriteBase /
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9a-zA-Z_\-]+)/$ $1\.php [L,R]
と書いたのですが、正常に動作してくれません。
どこが間違っているか教えて下さい。
■ このスレッドは過去ログ倉庫に格納されています