0

www.example.com/user.php?user=user.nameこんにちは、私のURLを次のように書き換えようとしていますwww.example.com/user.name

しかし、エラーメッセージが表示されます。ドットが混乱していると思います..これが私のルールです

RewriteRule ^([a-zA-Z0-9_-]+)$ user.php?user=$1

ありがとう

4

3 に答える 3

4

このRewriteRuleを使用します。

# If the request is not for a valid directory
RewriteCond %{REQUEST_FILENAME} !-d
# If the request is not for a valid file
RewriteCond %{REQUEST_FILENAME} !-f
# If the request is not for a valid link
RewriteCond %{REQUEST_FILENAME} !-l
# forward to user.php in a Query parameter user
RewriteRule ^([a-z0-9_.-]+)$ user.php?user=$1 [L,NC,QSA]

これらのRewriteCond行を使用しない場合、、などのファイルもstyle.css転送され、ブラウザでレンダリングされません。site.jsfavicon.icouser.php

于 2012-04-13T11:53:58.073 に答える
0

私はそれがうまくいくと思います:

RewriteRule ^([a-zA-Z0-9_\-.]+)$ user.php?user=$1

(可能な文字のリストにドットを追加し、ダッシュをエスケープしただけです)

RewriteCondまた、無限ループを避けるために、事前にa を入れることを忘れないでください。何かのようなもの:

RewriteCond %{REQUEST_FILENAME} !^user\.php$

これは、user.php という名前のユーザーがいないことを前提としていることに注意してください ;)

于 2012-04-13T11:24:55.973 に答える
0

代わりに次のパターンを使用します。^([a-zA-Z0-9\_\-\.]+)$

RewriteRule ^([a-zA-Z0-9\_\-\.]+)$ user.php?user=$1
于 2012-04-13T11:23:23.870 に答える