これらの URL を .htaccess ファイルで変更する
website.com/b.php?g=666からwebsite.com/666
と
website.com/g/2/1.gifからwebsite.com/2/1
これはどのように行われますか
これを行う方法を学ぶための簡単な例も?
ありがとう
これらの URL を .htaccess ファイルで変更する
website.com/b.php?g=666からwebsite.com/666
と
website.com/g/2/1.gifからwebsite.com/2/1
これはどのように行われますか
これを行う方法を学ぶための簡単な例も?
ありがとう
http://website.com/666
toのリクエストを内部的に書き換える場合/b.php?g=666
:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ /b.php?g=$1 [L]
http://website.com/2/1
toのリクエストを内部的に書き換える場合/g/2/1.gif
:
RewriteCond %{REQUEST_URI} ^/([^/]+)/([^/]+)/?$
RewriteCond %{DOCUMENT_ROOT}/g/%1/%2.gif -f
RewriteRule ^ /g/%1/%2.gif [L]
これをあなたの中に入れることができます.htaccess
RewriteEngine On
RewriteRule ^([^/]*)$ /b.php?g=$1 [L]
最初のパターンを機能させるために。単に動作させるだけでなく (任意のb.php
PHP ファイルで動作させたい) 場合は、必要に応じてルールを変更できます。(質問では、規則がどの程度一般的であるべきかを指定していませんでした。)
機能するかどうかは、メインの httpd.conf ファイルでそのような設定が有効になっているかどうかによって異なります。つまり、ファイルで書き換えエンジンを使用できないように Apache が設定されている可能性があり.htaccess
ます。YMMV。
これらがどのように機能するかを理解するには、Apache のドキュメント、特にこのページの例を参照してください。
rewrite rule generatorのようなものを使って運試しをすることもできますが、生成されたルールが何をするかをある程度理解できるように、ドキュメントも読むことをお勧めします。
2番目のものはこれでうまくいくかもしれません:
RewriteEngine On
RewriteRule ^([^/]*)([^/]*)$ /g/$1/$2.gif [L]
(もちろん、最初のものも使用している場合は、"RewriteEngine On" を 2 回使用する必要はありません。)