удалить идентификатор из URL-адреса в htaccess [дубликат]

Я пробовал сделать это сам, но я новичок в регулярном выражении.

У меня есть этот URL:

http://[DOMAIN]/[category]/27466-some-article-is-here

Который должен перенаправлять на этот URL:

http://[DOMAIN]/[category]/some-article-is-here

Я просто хочу удалить идентификатор из URL. Категория может быть любой, которую я хочу сохранить.

Как мне этого добиться?

ОБНОВЛЕНИЕ: Я скорректировал перенаправление с @taduuda на следующее:

RewriteRule ^(.*)\/[\d]*\-(.*)$ $1/$

Это выглядит хорошо с инструментом тестирования, но это все еще не работает на моем wordpress сайт.

Мой htaccess:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# BEGIN - Custom Redirects
RedirectMatch 301 /heute(.*) /$1
RewriteRule ^(.*)\/[\d]*\-(.*)$ $1/$2
# END - Custom Redirects

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

</IfModule>
# END WordPress
0
задан 26 February 2018 в 12:38
1 ответ

Не уверен, будет ли это работать с каждым URL-адресом, который у вас есть, но это даст вам основу для работы. Обратите внимание, что при этом проверяются 5-значные идентификаторы. Если вы хотите, чтобы это было более гибко, просто замените {5} на другой кватификатор, например * . Также обратите внимание, что это может соответствовать URL-адресам, которые вы не хотите перенаправлять.

* Quantifier - Соответствует от нуля до неограниченного количества раз, сколько возможно раз, возвращая по мере необходимости (жадно)

Ваше правило:

RewriteEngine on
RedirectMatch 301 ^(.*)\/[\d]{5}\-(.*)$ $1/$2

Или более точный вариант, позволяющий избежать нежелательных перенаправлений:

RewriteEngine on
RedirectMatch 301 ^(.*example\.com\/.+)(?:\/[\d]{5})\-(.*)$ $1/$2

Поскольку вы упомянули, что вы новичок в регулярных выражениях, вот несколько инструментов, которые помогут вам начать работу:

Онлайн-инструмент для создания / тестирования регулярных выражений: regex101. com

Онлайн-инструмент для тестирования перезаписи файлов .htaccess: htaccess.madewithlove.be

0
ответ дан 5 December 2019 в 06:25

Теги

Похожие вопросы