web-dev-qa-db-ja.com

.HTACCESS-URLの一部を削除します

次のように、事前定義された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
SexyMF

$1は、「元のURLの最初のキャプチャ部分を使用する」ことを意味します。元のURLの一部をキャプチャするには、かっこを使用してキャプチャする必要があります。次のようになります。

RewriteRule ^/en/top/(.*) /$1 [QSA]

これは、「/en/top/で始まるものをすべて取得し、それに続くものをキャプチャして、変数$ 1に入れます。$ 1変数だけに書き換えて、元のクエリ文字列を追加することを意味します。

2
Jenny D