www.example.com/user.php?user=user.name
こんにちは、私のURLを次のように書き換えようとしていますwww.example.com/user.name
しかし、エラーメッセージが表示されます。ドットが混乱していると思います..これが私のルールです
RewriteRule ^([a-zA-Z0-9_-]+)$ user.php?user=$1
ありがとう
www.example.com/user.php?user=user.name
こんにちは、私のURLを次のように書き換えようとしていますwww.example.com/user.name
しかし、エラーメッセージが表示されます。ドットが混乱していると思います..これが私のルールです
RewriteRule ^([a-zA-Z0-9_-]+)$ user.php?user=$1
ありがとう
この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.js
favicon.ico
user.php
私はそれがうまくいくと思います:
RewriteRule ^([a-zA-Z0-9_\-.]+)$ user.php?user=$1
(可能な文字のリストにドットを追加し、ダッシュをエスケープしただけです)
RewriteCond
また、無限ループを避けるために、事前にa を入れることを忘れないでください。何かのようなもの:
RewriteCond %{REQUEST_FILENAME} !^user\.php$
これは、user.php という名前のユーザーがいないことを前提としていることに注意してください ;)
代わりに次のパターンを使用します。^([a-zA-Z0-9\_\-\.]+)$
RewriteRule ^([a-zA-Z0-9\_\-\.]+)$ user.php?user=$1