既存のルールがありますが、これは問題ありません。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^/subdir/([^/]*)/([^/]*)/([^/]*)/([^/]*)$ /subdir/jadehttp.dll?Www_MySite&Action01=$1&H04=$2&cats=$3&states=$4 [L,NC]
次に、これらをそれらの後に追加して、URLで欠落している2つのパスノードを説明します。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^/subdir/([^/]*)/([^/]*)$ /subdir/jadehttp.dll?Www_MySite&cats=$1&states=$2 [L,NC]
このルールは、のようなURLリクエストを受け取り、http://mysite.com/subdir/packages/vic
内部でに書き換え/subdir/jadehttp.dll?Www_MySite&cats=packages&states=vic
ます。したがって、Action01およびH04パラメーターは失われます。
また、Action01とH04のパラメーターを取得する必要があるが、新しく渡されたURLからは非表示になっている場合、どのようになるかを教えていただけますか?
たとえば、いくつかのデフォルトを埋め込むことができます。
RewriteRule ^/subdir/([^/]*)/([^/]*)$ /subdir/jadehttp.dll?Www_MySite&Action01=FOO&H04=BAR&cats=$1&states=$2 [L,NC]
FOO
およびBAR
をいくつかのデフォルト値に置き換えます。ただし、URIには抽出するものが他にないため、URIからこれらのパラメーターを取得することはできません。それらがURIの一部でない場合、それらを抽出するものは他にありません。