0

私がここで尋ねたことに続いて、私は以下のURLの自動書き換えをしたい

http://testsite.com/siterootb/sample-page.php?bbi=value1&bbl=value2

http://testsite.com/siterootb/sample-page/value1/value2

私はhtaccess今のように見えます

RewriteEngine on

RewriteCond %{QUERY_STRING} !^$
RewriteRule ^(.*) http://localhost%{REQUEST_URI}%1? [R=301,L]

###########################################################################
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/siterootb/([^/]+)/([^/]+)/([^/]+)
RewriteCond %{DOCUMENT_ROOT}/siterootb/%1.php -f
RewriteRule ^/?([^/]+)/([^/]+)/([^/]+) $1.php?bbi=$2&bbl=$3 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L]

私はURL書き換えを通過しました-クエリ文字列URL書き換えクエリ文字列ワードプレス削除する方法は?htaccessなどを使用してURLから取得したもの[query-string] [.htaccess]

4

1 に答える 1

1

次のルールを追加します。

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /siterootb/([^.]+)\.php\?bbi=([^&\ ]+)&bbl=([^&\ ]+)
RewriteRule ^ /siterootb/%1/%2/%3? [L,R=301]

変数と照合する必要%{THE_REQUEST}がある理由は、URIではなく、要求されたものと文字通り照合するためです。ルールが適用されるとURIが変更されるため、変数と照合した場合に別のルールが行った変更と照合し%{REQUEST_URI}ます。

于 2012-10-06T02:38:19.193 に答える