удалите строку запроса из конца URL URL, используя .htaccess

Я пытаюсь удалить последовательность из конца URL:

Например, у меня есть структура как это:

http://sitename.com/category/first-category-name/?post_type=question
http://sitename.com/category/second-category-name/?post_type=question
http://sitename.com/category/...-category-name/?post_type=question

Я хотел бы удалить ? post_type=question от конца URL.

Я любящий много примеров на stackoverflow, но никто не работает на меня.

Спасибо.

3
nl ja de

2 ответы

это просто, просто используйте:

RewriteCond %{QUERY_STRING}    "post_type=" [NC]
RewriteRule (.*)  /$1? [R=301,L]

Если вы идете, добавляет это к веб-сайту Wordpress, вы должны добавить его перед любыми правилами Wordpress:

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

но после

RewriteBase /
9
добавлено

Просто сделайте что-то вроде этого:

RewriteEngine On
RewriteBase /
# Make sure there is a query string
RewriteCond %{QUERY_STRING} .
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .*  /? [R=301,L]

Поместить ? в конце, чтобы удалить вопрос, когда существующий.

2
добавлено