次のように、事前定義されたhtaccessを使用してcmsで使用しています。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?%{QUERY_STRING} [L]
2つの「サブディレクトリ」を削除するためにURLを更新したい:
から/en/top/solutions/?id=1
から/solutions/?id=1
from /en/top/about/?othervar=1
から/about/?othervar=1
これは私がこれまでにしたことの1つです:
RewriteRule ^en/top/ /$1 [L,R=301]
私はそれを動かすことができませんでした。ありがとう
$1
は、「元のURLの最初のキャプチャ部分を使用する」ことを意味します。元のURLの一部をキャプチャするには、かっこを使用してキャプチャする必要があります。次のようになります。
RewriteRule ^/en/top/(.*) /$1 [QSA]
これは、「/en/top/
で始まるものをすべて取得し、それに続くものをキャプチャして、変数$ 1に入れます。$ 1変数だけに書き換えて、元のクエリ文字列を追加することを意味します。