私は自分のようにここで同じ質問をしています:複数のパラメータを書き直すには?どうやってやったのか分かりましたが、うまく動かないようです。.htaccess - 複数のパラメータ
私はこのように見えるために私のリンクをwan't:link.dk/profil/2/overview
そして、私の.htaccessは、次のようになります
#profil.php?id=? to profil/?
RewriteRule ^profil/(.*)$ profil.php?id=$1 [L]
RewriteRule ^profil/(.*)/(.*)$ profil.php?id=$1&do=$2 [L]
それがアクセスできるようにしています/ profil/2を指定します。だから私は2行持っている。これが正しい方法であるかどうかはわかりません。
/profil/2は完璧に動作し、しばらくの間働いています。だからここに心配はありません。しかし、私は第3のパラメータをキャッチすることはできません。
私はまた、.htaccessファイルでこれらの2を抱えている:私が書いた最初の二つの前
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
。
2つのパラメータを持つものだけを使用している場合は動作しています。しかし、それは/ profil/2 ofcとはうまく動作しません。 profil.php?id = 2 & do = overviewでURLを入力するとページにアクセスできます。私の自己を発見
abitはunpreciseと不安定:-)ようだ*'非常に明確に定義されています。 "' * '"は貪欲な試合です - できるだけ長く合っています。このタイプのマッチでは、貪欲でないマッチ '。*?'を使うことができます。たとえば、 '(。*?)/'は任意のチャーチャシーケンスにマッチすることを意味しますが、最初に/ – TerryE
ルールはありますが、あなたのソリューションはよりエレガントです。 – Gerben