2009-03-26 2 views
1

Я начал блог и после нескольких сообщений решил, что мне не понравилась схема/2009/03/26/foo-bar для URL-адресов (я изменился на just/foo-bar). Но для сообщений о парах, которые были опубликованы до того, как я изменил это, я хочу добавить правила перезаписи, чтобы старые URL-адреса не прерывались.Изменение схем URL-адресов в wordpress без разбивки старых URL-адресов

Я пробовал все варианты следующего, о которых я мог думать в файле .htaccess, безрезультатно: (обратите внимание, что все, кроме строк «first-post» и «second-post», является шаблоном Wordpress)

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

RewriteRule /2009/03/25/first-post /first-post 
RewriteRule /2009/03/26/second-post /second-post 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 

Любые идеи?

ответ

0

Попробуйте

RewriteRule ^\d*/\d*/\d*/(.*) /$1 
+0

Не работает! Мне нравится общность решения, если он действительно работает. :) – dreeves

0

Hacky решение, которое я только что попробовал, что работает, на самом деле создать каталоги и подкаталоги 2009/03/25/и т.д., а затем добавить файл index.php, содержащий следующее:

<?php 
header('Location: http://example.com/first-post'); 
?> 
+0

Оказывается, это решение действительно нежизнеспособно, так как оно закручивает отслеживание статистики на читателях, что делает feedburner. – dreeves