- - PR -
(ユーザ名)/(ファイル) を ~(ユーザ名)/(ファイル) のへURLを変更するにはどうすればいいでしょうか?
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-08-21 18:44
きちんと
/home/user/public_html/aaa.html につくりましたけど、どしてももうまくいきません。 Apatch 1.3 をつかっております。 どうかお知恵をお貸しください。 | ||||
|
投稿日時: 2006-08-21 21:50
単純に飛ばすとループしてしまうので、"~"で始らないURIのみRewriteすればうまくいくはずです。
但し、下記では"~"で始らないURIは全てRewriteされてしまうので少し注意が必要です。 RewriteCond %{REQUEST_URI} "!^/~(.*)" [NC] RewriteRule /(.*) /~$1 [R,L] [ メッセージ編集済み 編集者: oyaji 編集日時 2006-08-21 22:02 ] | ||||
|
投稿日時: 2006-08-22 10:45
oyajiさん、ありがとうございます!
きちんと動きました! でも、~/user 以外を指定されても~/file と書き換えられてしまいます。 RewriteCond %{REQUEST_URI} "^/~user/(.*)" RewriteRule ^/user/(.*) /~user/$1 [R,L] でいけると思ったのですが、うまくいきません。 ユーザ名のときだけ書き換えるようにできないでしょうか。 | ||||
|
投稿日時: 2006-08-22 21:35
どちらでもいいですが、ユーザ分列挙すればだいじょうぶです。
案1: RewriteRule /oyaji(.*) /~oyaji$1 [R,L] RewriteRule /user1(.*) /~user1$1 [R,L] RewriteRule /user2(.*) /~user2$1 [R,L] 案2: RewriteCond %{REQUEST_URI} "^/oyaji" [OR] RewriteCond %{REQUEST_URI} "^/user1" [OR] RewriteCond %{REQUEST_URI} "^/user2" [OR] RewriteRule /(.*) /~$1 [R,L] | ||||
|
投稿日時: 2006-08-23 01:08
ユーザの列挙は一行1ユーザでなくてもいいですね
RewriteCond %REQUEST_URI ^/(mikinyu|user[1234]+)/ な感じで連番なユーザだったりすれば正規表現で簡単に制御できますね | ||||
|
投稿日時: 2006-08-23 10:18
oyajiさん、ありがとうございました!
思った動きになりました、 ベテランさん、回答ありがとうございます! | で、|って見たことないです。使えるのでしょうか? (mikinyu|user[1234]+) ってどんな意味になるのでしょうか。 よろしくお願いします。 | ||||
|
投稿日時: 2006-08-23 10:26
いい加減、自分で調べてみたらどうでしょうか? (「正規表現」で検索すればすぐ見つかるし。) 自分の経験だと、正規表現の概念は、初めての人はすごくとっつきにくいです。 人に聞いているだけだと身につきませんよ? |