1

http://mysite.com/username現在のプロフィールページにリダイレクトするリンク があります

ユーザー名..

このリンクの htaccess コードは次のとおりです。

RewriteCond %{REQUEST_URI} ^/(\w+)/?$ [NC]
RewriteRule ^ profile.php?username=%1 [L,QSA]

しかし、私の問題は、ユーザー名にピリオド(.)が含まれている場合、この条件が機能しないことです..

例: リンクがhttp://mysite.com/user.nameの場合、見つからないページが表示されます。

ユーザー名にピリオドのみを許可し、ハイフンやアンダースコアを必要としないようにしたい...

htaccessで確認する方法を教えてください。

誰か助けてください....

4

1 に答える 1

1

RewriteRule コードを次のように変更します。

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([\w.]+)/?$ profile.php?username=$1 [L,QSA]

\wまた、正規表現で使用することにより、アンダースコアが既に含まれていることに注意してください。

于 2012-05-26T06:33:10.163 に答える