0

次の書き換えルールがあります

RewriteRule ^/product/([^/]*)/([^/]*)/([^/]*)/([^/]*)/((test_data|data_test)/)?([^/]*)$ /product/?query_one=$1&query_two=$2&query_three=$3&query_four=$4&file_path=$6/$7

ラストfile_pathの値で組み合わせて$6/$7います。

$6値がない場合file_pathは可能$7ですか? /ID$6がNoneになりたくない。シンプルにこの部分にコンディションを入れたい。

編集

https://example.com/product/one/two/three/four/test_data/file.jar

https://example.com/product/?query_one=one&query_two=two&query_three=three&query_four=four&file_path=test_data/file.jar

問題はこの URL にあります

https://example.com/product/one/two/three/four/test_file.xml

提案してください?

ありがとう!

4

1 に答える 1

0

マッチングパターンを少し単純化する必要があるようです。以下は私にとってはうまくいきます:

RewriteRule ^/?product/([^/]*)/([^/]*)/([^/]*)/([^/]*)/(.*?)/?$ /product/?query_one=$1&query_two=$2&query_three=$3&query_four=$4&file_path=$5 [L,QSA,NC]

または、dir がそのときだけであることを確認したい場合は、(test_data|data_test)次を使用します。

RewriteRule ^/?product/([^/]*)/([^/]*)/([^/]*)/([^/]*)/((?:(?:test_data|data_test)/)?.*?)/?$ /product/?query_one=$1&query_two=$2&query_three=$3&query_four=$4&file_path=$5 [L,QSA,NC]
于 2013-06-26T11:49:21.970 に答える