.htaccessがどのようにリダイレクトするかを理解しようとしています。.htaccessリダイレクトはどのように機能しますか?
言ってやる例えば、私のユーザーはに移動:
www.website.com/users/bob
私は、そのユーザーをリダイレクトするにはどうすればよい:
WWW。 website.com/users.php?user=bob
.htaccessがどのようにリダイレクトするかを理解しようとしています。.htaccessリダイレクトはどのように機能しますか?
言ってやる例えば、私のユーザーはに移動:
www.website.com/users/bob
私は、そのユーザーをリダイレクトするにはどうすればよい:
WWW。 website.com/users.php?user=bob
あなたの.htaccessはOK:次のようなものです:
# turn on the engine
RewriteEngine On
RewriteRule ^users/(.*)$ /users.php?user=$1
# Pattern:
#^ = start of URL (.htaccess doesn't get the leading "/")
# users/ = your path
# (.*) = capture any character, any number of times
# $ = end of string
# Result:
# /users.php?user= = your path
# $1 = the first group captured in the pattern
上記のRewriteBaseにも言及してください。 –
今、$ 1 ...ここに2番目のルールを追加したいのですが、website.com/users/bobの代わりに、website.com/show/whateverになり、website.com/show.phpにリダイレクトされます?id =何でも。私はその行を単純にコピーし、詳細を変更し、最後に$ 2を置くことはできますか? – mrpatg
$ 1を使用していますか?いいえ、関連ルールのグループです。たとえば、/ users/bob/bobbinson、/users/([^/]*)/(.*)$に一致すると$ 1はボブ、$ 2はボビンです – Greg
technical details of mod_rewriteを読むことをお勧めします。そこでは、内部処理についての良い洞察が得られます。あなたの具体的な例
は、適切なルールは次のようになります。今
RewriteRule ^users/([a-z]+)$ users.php?user=$1
/users/bob
を要求されたときに、mod_rewriteの意志:
/
場合.htaccessファイルがドキュメントルートにあります)users/bob
)。
RewriteCond
ディレクティブがある場合、彼らは、あまりにも$
n
と%
n
を交換しながら)新しいものと現在のURLを置き換えるテストされるだろうパターンが一致して条件が真であると評価された場合
このような質問はserverfault.comに無限に流れています。これについてはどうでしょうか?例:http://stackoverflow.com/questions/1249368/mod-rewrite-beginner-questions – innaM