Как переписать URL удалить слизень / продукт / - PullRequest
0 голосов
/ 10 января 2020

У меня есть пример ссылки:

https://stackoverflow.com/test/index.php/product/01-00030am-1a1y

Я хочу удалить / продукт стал

https://stackoverflow.com/test/index.php/01-00030am-1a1y

Это .htaccess

RewriteCond %{HTTP_HOST}
RewriteRule ^test/index.php/product/(.*)$ test/index.php/$2 [R=301]

Но это никогда не работает, как это исправить

1 Ответ

0 голосов
/ 10 января 2020

Я полагаю, что $1 не $2

$2 будет относиться ко второй сопоставленной группе, которую вы не установили. Попробуйте:

RewriteCond %{HTTP_HOST}
RewriteRule ^test/index.php/product/(.*)$ /test/index.php/$1 [R=301,L]

Флаг [L] заставляет mod_rewrite остановить обработку набора правил. В большинстве случаев это означает, что если правило соответствует, дальнейшие правила не будут обрабатываться. Документы

Проверьте здесь или здесь для получения дополнительной информации о правилах .htaccess.

Также убедитесь, что что у вас есть mod_rewrite on, иначе он не будет работать. Если нет, я думаю, вы можете добавить его в свой .htaccess

RewriteEngine On

RewriteCond %{HTTP_HOST}
RewriteRule ^test/index.php/product/(.*)$ /test/index.php/$1 [R=301,L]

В качестве альтернативы, если вы используете WooCommerce, попробуйте woo-permalink-manager plugin.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...