- PR -

(ユーザ名)/(ファイル) を ~(ユーザ名)/(ファイル) のへURLを変更するにはどうすればいいでしょうか?

投稿者投稿内容
volvic
会議室デビュー日: 2006/08/20
投稿数: 17
投稿日時: 2006-08-21 18:44
きちんと
/home/user/public_html/aaa.html
につくりましたけど、どしてももうまくいきません。
Apatch 1.3 をつかっております。
どうかお知恵をお貸しください。
oyaji
会議室デビュー日: 2006/02/25
投稿数: 11
投稿日時: 2006-08-21 21:50
単純に飛ばすとループしてしまうので、"~"で始らないURIのみRewriteすればうまくいくはずです。
但し、下記では"~"で始らないURIは全てRewriteされてしまうので少し注意が必要です。

RewriteCond %{REQUEST_URI} "!^/~(.*)" [NC]
RewriteRule /(.*) /~$1 [R,L]


[ メッセージ編集済み 編集者: oyaji 編集日時 2006-08-21 22:02 ]
volvic
会議室デビュー日: 2006/08/20
投稿数: 17
投稿日時: 2006-08-22 10:45
oyajiさん、ありがとうございます!

きちんと動きました!
でも、~/user 以外を指定されても~/file と書き換えられてしまいます。

RewriteCond %{REQUEST_URI} "^/~user/(.*)"
RewriteRule ^/user/(.*) /~user/$1 [R,L]

でいけると思ったのですが、うまくいきません。
ユーザ名のときだけ書き換えるようにできないでしょうか。
oyaji
会議室デビュー日: 2006/02/25
投稿数: 11
投稿日時: 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]
末記人
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 233
お住まい・勤務地: あわにこ
投稿日時: 2006-08-23 01:08
ユーザの列挙は一行1ユーザでなくてもいいですね

RewriteCond %REQUEST_URI ^/(mikinyu|user[1234]+)/

な感じで連番なユーザだったりすれば正規表現で簡単に制御できますね
volvic
会議室デビュー日: 2006/08/20
投稿数: 17
投稿日時: 2006-08-23 10:18
oyajiさん、ありがとうございました!
思った動きになりました、

ベテランさん、回答ありがとうございます!
|
で、|って見たことないです。使えるのでしょうか?
(mikinyu|user[1234]+)
ってどんな意味になるのでしょうか。

よろしくお願いします。
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2006-08-23 10:26
引用:

volvicさんの書き込み (2006-08-23 10:18) より:
oyajiさん、ありがとうございました!
思った動きになりました、

ベテランさん、回答ありがとうございます!
|
で、|って見たことないです。使えるのでしょうか?
(mikinyu|user[1234]+)
ってどんな意味になるのでしょうか。

よろしくお願いします。


いい加減、自分で調べてみたらどうでしょうか?
(「正規表現」で検索すればすぐ見つかるし。)

自分の経験だと、正規表現の概念は、初めての人はすごくとっつきにくいです。
人に聞いているだけだと身につきませんよ?

スキルアップ/キャリアアップ(JOB@IT)