0

www.mydomain.com/abc/files/test に test という名前のフォルダーが 1 つあります。から URL を変更する必要がありますwww.mydomain.com/abc/files/test/test.php?id=15&key=some-text123

www.mydomain.com/abc/files/test/15/some-text123これは SO URL に似ています。

次のコードを使用して.htaccessファイルをフォローしようとしました

RewriteEngine on 
Options +FollowSymlinks
RewriteBase / 
RewriteRule ^test/([0-9]+)/([A-Za-z0-9-]+)?$ test/test.php?id=$1&key=$2 [R]

にリダイレクトされwww.mydomain.com/test/test.php?id=15&key=some-text-123 ますが、どこかからフォーマットをコピーしたため、機能しませんでした。よくわかりません ^ www 部分も含める必要がありますか、それとも / をルートとして想定するだけですか?

「id」の部分は私にとって重要です。また、以下も有効な URL と見なします。

www.mydomain.com/abc/files/test/15 (without /some-text123")
www.mydomain.com/abc/files/test/15/ (without /some-text123 but having / )

正しいルールを書くのを手伝ってもらえますか?

「abc/files/」をハードコードする必要がないようにするにはどうすればよいですか?

私のサイトの他の URL (「テスト」フォルダー以外) には影響しません。

また、URL は/files/test/15 etc変更せずにそのまま ( ) にする必要があります。"?id=15&key=some-text123"

どうもありがとう。

4

1 に答える 1

0

Rフラグは外部リダイレクトを強制します。したがって、そのままにしておくと、リクエストは内部的にリダイレクトされます。

RewriteRule ^test/([0-9]+)/([A-Za-z0-9-]+)?$ test/test.php?id=$1&key=$2
于 2009-06-19T14:55:13.023 に答える