1

イメージを構築する php スクリプトを作成しました。素敵な URL に htaccess を使用したいと考えています。

スクリプトは、いくつかの変数に応じてイメージを構築します。

例えば:

All options given
php url:  image.php?width=300&height=400&color=red&var1=something&var2=somethingelse
nice url: image-w300-h400-cred-v1something-v2something.png

Few options given
php url:  image.php?var1=something&color=black
nice url: image-v1something-cblack.png

すべての組み合わせに対して rewriteRule を作成する方法は知っていますが、それを自動化する方法はありませんか?

4

2 に答える 2

4

おそらく最も簡単な解決策:

RewriteRule ^image-(.+)\.png$ image.php?params=$1

$_GET['params']次に、PHPで解析します。

于 2012-08-07T08:40:13.857 に答える
1

パラメータを常に同じ順序で配置する場合は、次のようなルールを使用できます。

RewriteRule 
    ^image(-w[0-9]+)?(-h[0-9]+)?(-c[a-z]+)?(-v1[A-Za-z0-9-]+)?(-v2[A-Za-z0-9-]+)?\.png$ 
    image.php?width=$1&height=$2&color=$3&var1=$4&var2=$5 [L]

編集 :

RewriteRule 
    ^image(-w([0-9]+))?(-h([0-9]+))?(-c([a-z]+))?(-v1([A-Za-z0-9-]+))?(-v2([A-Za-z0-9-]+))?\.png$ 
    image.php?width=$2&height=$4&color=$6&var1=$8&var2=$10 [L]

10ドルの問題を防ぐための編集2:

RewriteRule 
    ^image(?:-w([0-9]+))?(?:-h([0-9]+))?(?:-c([a-z]+))?(?:-v1([A-Za-z0-9-]+))?(?:-v2([A-Za-z0-9-]+))?\.png$ 
    image.php?width=$1&height=$2&color=$3&var1=$4&var2=$5 [L]
于 2012-08-07T08:51:49.353 に答える