2012-03-21 56 views
1

ファイル名の書き換えの仕組みを理解したいと思います。私はitem.phpと呼ばれるPHPファイルを持っています。ユーザーが項目を選択すると、例えばitem-pencil.phpitem-book.phpなどとなります。URLを項目名に基づいて書き換えます

私は、htaccessを、以下で見つかった:

RewriteEngine On 
RewriteBase /my/path 
RewriteRule ^item-.*-(.*).php show_item.php?id=$1 

誰もが、これは具体的にどのように動作するかを説明できますか?ファイルshow_item.phpidのパラメータを取得します。このルールは、/my/pathのパスに対してのみ有効です。 .*は文字の任意の数を表し、(.*)は複数回probalbyを意味します。しかし、pencilまたはbookという名前はどこから来たのですか?

答えて

1
RewriteEngine On 
RewriteBase /my/path 
RewriteRule ^item-.*-(.*).php show_item.php?id=$1 

説明:書き換えルールは、URLが指定されたパターンと一致するかどうかをチェックします。パターンはURLが "item-"で始まり、その後に ".*"と入力し、その後に " - "を入力してください。(.*)と入力してから.、その後に "php"と入力してください最後に。

ブラウザで「http://www.yourdomain.com/my/path/item-www-ssss.php.php」を入力した場合ので、それはRewriteRuleのための最初のパラメータとしてitem-www-ssss.phpphpを検討します。それはそれにパターンを適用します。与えられたパターンと一致し、指定されたパターンは第2引数show_item.php?id=$1に置き換えられます。 $1ssssなので、最終結果はhttp://www.yourdomain.com/my/path/show_item.php?id=ssss.phpとなります。
URLの末尾にある.phpに注意してください。

関連する問題