Как я делаю 301 перенаправление из-за повторяющихся URL - PullRequest
1 голос
/ 15 августа 2011

Я сейчас пытаюсь сделать редирект 301 для всех страниц сайта, над которым я работаю.Проблема заключается в том, что этот URL:

http://site.com/cash/ 
http://site.com/credit/

и

http://site.com/cash 
http://site.com/credit 

отображают одни и те же страницы

Это приведет к ряду проблем с дублированием URL-адреса и начнется разделениеPageRank нашего SEO.

Я пытался сделать это на своем сайте, где все SEO указывают на версию без слеша

Кстати, у меня есть около 90 страниц, которые я должен изменить ...any идеи о хорошем способе достижения этого

Как мне сделать перенаправление 301 в htaccess, чтобы сделать это на всех моих страницах

Редактировать:

Так что правильно понять.это сделает редирект 301

# Remove the trailing slash
RewriteCond %{HTTP_HOST} ^(www.)?example\.com$ [NC]
RewriteRule ^(.+)/$ http://www.example.com/$1 [R=301,L]

Но как это исключить folder1

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

и я бы поместил его в тот же файл htaccess или создал другой файл htaccess в каталоге folder1

Ответы [ 3 ]

2 голосов
/ 15 августа 2011

Вы можете добавить следующее к своему .htaccess, чтобы удалить косую черту

# Remove the trailing slash
RewriteCond %{HTTP_HOST} ^(www.)?example\.com$ [NC]
RewriteRule ^(.+)/$ http://www.example.com/$1 [R=301,L]


Обновление

Вы также можете добавить www

RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule (.*) http://www.example.com$1 [R=301]

или удалите его

RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
2 голосов
/ 15 августа 2011

Вместо использования 301 вы можете просто использовать rel canonical link .

0 голосов
/ 15 августа 2011

Вместо этого вы можете использовать mod_rewrite, если это для сервера Apache ... Это катастрофически неэффективно, но, вероятно, лучший вариант, если вас беспокоит SEO

...