Я перенес свой сайт из vB в WP, но мне трудно заставить постоянные ссылки работать должным образом.
Я закомментировал (используя #
) те переписывания, которые не работают.
Вот мой текущий htaccess:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^[0-9]+-([^&]+)
RewriteRule ^/?showthread\.php$ https://www.example.com/forums/topic/%1 [L,R=301] // this one works
# These don't work
#RewriteRule [^content.php/]+/([0-9]+)-[^/]+\.html https://www.example.com/%1 [L,R=302] // doesn't work
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Для изменения mydomain.com/content.php/categoryname-categoryid.html
Я попробовал это:
RewriteRule [^content.php/]+/([0-9]+)-[^/]+\.html https://www.example.com/%1 [L,R=302]
and also this:
RewriteRule [^content.php/]+/([0-9]+)-[^/]+\.html https://www.example.com/[^/]%1 [L,R=302]
но оно не трансформируется
https://www.example.com/content.php/131-Anniversary
до: https://www.example.com/anniversary/131-categorytitle
вместо этого он заменяет его на тему форума bbpress:
https://www.example.com/community/topic/anniversary-10-free-products
Я пытаюсь получить этот URL-адрес на основе категории:
https://www.example.com/content.php/131-Anniversary
чтобы превратиться в https://www.example.com/%category%/%categoryid%-%categoryname%
Вот два типа URL от vbulletin, с которыми мне нужно немного помочь при переписывании htaccess:
A. https://www.example.com/recipes/how-cook-perfect-bacon-everytime-3424.html
B: https://www.example.com/content.php?r=3424
Оба должны перенаправить на:
https://www.example.com/%category%/%postid%-%postname%
which looks like this: https://www.example.com/recipes/3424-how-cook-perfect-bacon-everytime
Вот те переписки, которые я использовал в vBulletin для предотвращения разрыва ссылок:
RewriteEngine on
RewriteRule [^/]+/([0-9]+)-[^/]+\.html https://www.example.com/showthread.php?t=$1 [L,R=301]
RewriteRule [^/]+/[^/]+-([0-9]+)\.html https://www.example.com/content.php?r=$1 [L,R=301]
RewriteRule [^/]+/[^/]+-([0-9]+)/ https://www.example.com/content.php?r=$1 [L,R=301]
Что я делаю не так?