2012-01-18 3 views
0

Следующего правило переписывает domain.com/2009/05/url-of-some-awesomeness/ к domain.com/url-of-some-awesomeness/:URL правила перезаписи для перезаписи потенциальных добавочные

RewriteRule ^([0-9]{4})/([0-9]{1,2})/(.+)$ /$3 [NC,R=301,L] 

Есть некоторые старые ссылки приходящих на сайт, которые сохраняют старую структуру располагаемого .html поэтому правило должно быть изменено переписать или выше domain.com/2009/05/url-of-some-awesomeness.html или domain.com/2009/05/url-of-some-awesomeness/feed/ к domain.com/url-of-some-awesomeness/

+0

Так что если исходный URI является 'domain.com/2009/05/foo.html', вы хотите, чтобы он перенаправлялся на' domain.com/foo.html' – anubhava

+0

Если вы просто зачищаете любой «/ yyyy/mm», значение, вы хотите добавить канонический метатег, чтобы ранжирование SEO-страницы было присвоено первичной странице. Дальнейшее чтение: http://www.seomoz.org/blog/canonical-url-tag-the-most-important-advancement-in-seo-practices-since-sitemaps –

+0

@anubhava Это немного то, что выполняет оригинальный переписывающий. – Astron

ответ

1

Я полагаю, что .htm или .html в конце, и вы не хотите быть частью $3?

RewriteRule ^([0-9]{4})/([0-9]{1,2})/((?:(?!\.html?$).)+)(?:\.html?)?$ /$3 [NC,R=301,L] 

Подсказка: В следующий раз постарайтесь быть абсолютно конкретными. A "есть несколько случаев, когда исходный запрос может иметь .html .htm или/feed /" примерно такой же неопределенный, как он может получить.

+0

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

Смежные вопросы