Искать  
 
   
1 из 2
1
ЧПУ  (Решено)
Отправлено: 16 Март 2011 03:08 P.M.   [ Игнорировать ]
Новичок
Rank
Всего сообщений:  61
Зарегистрирован  2010-10-05

На версии 1.6.8 были сделаны ЧПУ при помощи Rewrite.

Но при таком подходе есть 1 проблема с точки зрения СЕО, а именно
были убраны index.php и получились УРЛ типа:

http://site/url1/url2

Но есть еще и:

http://site/url1/url2/

И все поисковки при ранжировании этих страниц, воспринимают их как 2 разные страницы.

Вопрос, какой есть ПРАВИЛЬНЫЙ способ сделать ЧПУ для ЕЕ.

Профиль
 
 
Отправлено: 16 Март 2011 04:53 P.M.   [ Игнорировать ]   [ # 1 ]
Member
Avatar
RankRankRank
Всего сообщений:  317
Зарегистрирован  2008-03-09

Через мод реврайт
ссылка в помощь
http://www.mydigitallife.info/2007/03/19/add-trailing-slash-to-the-end-of-the-url-with-htaccess-rewrite-rules/

Профиль
 
 
Отправлено: 16 Март 2011 05:35 P.M.   [ Игнорировать ]   [ # 2 ]
Новичок
Rank
Всего сообщений:  61
Зарегистрирован  2010-10-05

А как это прикрутить к существующей системе?

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.site\.ru
RewriteRule ^(.*)$ http://site.ru/$1 [R=permanent,L]
RewriteCond $1 ^(cats|about_us|factories|disco|farms|gas|hotels|indust|offices|test) [NC]
RewriteRule ^(.*)$ /index.php/$1 [L]


Это скрытие index.php и доступ к шаблонам

Да и слэш вконце нужно убрать а не добавить =)
Входящие ссылки на страницы без слэша.

Профиль
 
 
Отправлено: 18 Март 2011 07:41 P.M.   [ Игнорировать ]   [ # 3 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  891
Зарегистрирован  2008-01-07

а не пробовал добавлять слеш в конце правила?)) - RewriteRule ^(.*)$ /index.php/$1/

Профиль
 
 
Отправлено: 19 Март 2011 01:49 P.M.   [ Игнорировать ]   [ # 4 ]
Новичок
Rank
Всего сообщений:  61
Зарегистрирован  2010-10-05

Пробовал
Ни к чему не приводит.

Есть страницы и со слэшем и без.

Профиль
 
 
Отправлено: 24 Март 2011 10:24 A.M.   [ Игнорировать ]   [ # 5 ]
Новичок
Rank
Всего сообщений:  61
Зарегистрирован  2010-10-05

Попробовал я убрать треилинг слэши, получилось.

Но ее встал на дыбы: админка перестала работать, перестал определять ПОСТ запросы, т.е. поиск сдох.
Нельзя стало добавлять, удалять и редактировать записи. Короче полная чухня, как склеить страницы не знаю.

У вас нет таких проблем? Или всем до фени СЕО Вашего сайта?

Я так понимаю тут только разработчики =) Которым все равно на каком месте их сайт )

Профиль
 
 
Отправлено: 24 Март 2011 10:25 A.M.   [ Игнорировать ]   [ # 6 ]
Новичок
Rank
Всего сообщений:  61
Зарегистрирован  2010-10-05
budulay - 18 Март 2011 07:41 P.M.

а не пробовал добавлять слеш в конце правила?)) - RewriteRule ^(.*)$ /index.php/$1/

Это правило внутреннего перенаправления, а не серверного редиректа, так что в данном случае оно бесполезно.

Профиль
 
 
Отправлено: 28 Март 2011 02:55 P.M.   [ Игнорировать ]   [ # 7 ]
Новичок
Rank
Всего сообщений:  4
Зарегистрирован  2010-07-27

разобрался?

Профиль
 
 
Отправлено: 29 Март 2011 09:55 A.M.   [ Игнорировать ]   [ # 8 ]
Новичок
Rank
Всего сообщений:  61
Зарегистрирован  2010-10-05

Нет, какие я бы действия не делал, если убирается слэш, то не работают POST запросы.

Сегодня буду пробовать, наоборот добавлять слэши, но это уже дурдом (
Я задал этот же вопрос на оф форуме двига, такая же реакция как и здесь - НИКАКОЙ.


http://expressionengine.com/forums/viewthread/184499/

Комьюнити у двига слабое, для платного проекта это недопустимо. Перешел на друпал и забил на ЕЕ, даже сказал директору чтобы лецензию выкинул.

Профиль
 
 
Отправлено: 29 Март 2011 10:05 A.M.   [ Игнорировать ]   [ # 9 ]
Member
Avatar
RankRankRank
Всего сообщений:  363
Зарегистрирован  2009-01-02

лол. Если на сайте не публиковать ссылки на страницы со слэшем и без, то поисковик сам никогда их не найдет. То есть нужно везде на сайте делать одинаковые урл и будет тебе счастье.

 Подпись 

Я в космосе

Профиль
 
 
Отправлено: 29 Март 2011 12:11 P.M.   [ Игнорировать ]   [ # 10 ]
Новичок
Rank
Всего сообщений:  61
Зарегистрирован  2010-10-05

Вы о чем уважаемый?
Я вам про Фому вы мне про Ерему. Я вам про УРЛ вы мне про ссылки.

А вот о том что сам ЕЕ делает два вида УРЛ и идет речь, вопрос как раз и стоял в том как заставить ЕЕ делать один вид УРЛ.
И не путайте с сылками, речь идет о СЕО и строке запроса, и от ссылок УРЛ почти не зависит.

Сам ЕЕ иногда {path=“page”} представляет как http://site.ru/page а иногда как http://site.ru/page/
Вот я и спрашиваю, как запретить ЕЕ это делать.

Вернее это запрещать уже поздно, так как поисковики скушали уже давно этот сайт, теперь надо сделать реврайт с одного типа на другой.

Чтобы произошла так называемая “Склейка страниц”

Профиль
 
 
Отправлено: 29 Март 2011 12:13 P.M.   [ Игнорировать ]   [ # 11 ]
Member
Avatar
RankRankRank
Всего сообщений:  363
Зарегистрирован  2009-01-02

Делать вот так {homepage}news/{entry_id}/ или {homepage}news/{url_title}/ и т.д. религия не позволяет?)
Слэши также можно просто убрать.

 Подпись 

Я в космосе

Профиль
 
 
Отправлено: 29 Март 2011 03:22 P.M.   [ Игнорировать ]   [ # 12 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

Добавить в htaccess следующее

# Add a trailing slash to paths without an extension
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond 
%{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule ^(.*)$ $1[L,R=301] 

Будет принудительно редиректить на такую же страницу со слешем

 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
Отправлено: 29 Март 2011 04:11 P.M.   [ Игнорировать ]   [ # 13 ]
Новичок
Rank
Всего сообщений:  61
Зарегистрирован  2010-10-05
Stop-TussiN - 29 Март 2011 12:13 P.M.

Делать вот так {homepage}news/{entry_id}/ или {homepage}news/{url_title}/ и т.д. религия не позволяет?)
Слэши также можно просто убрать.

Это не избавит от дублирования страниц, потому-что естественные внешние ссылки на сайт мы контролировать не можем, и кто-то может поставить со слэшем, а кто-то без. И все-равно будет дублирование страниц. Для этого существует модуль реврайт, который принудительно говорит серверу перенапрвлять запрос на одну страницу.

Так вот об этой особенности я и говорю, и Ваше предложение это только мизерная часть, которая не поможет ни одному сайту избавится от дублирования контента.

Профиль
 
 
Отправлено: 29 Март 2011 04:15 P.M.   [ Игнорировать ]   [ # 14 ]
Новичок
Rank
Всего сообщений:  61
Зарегистрирован  2010-10-05
Станислав - 29 Март 2011 03:22 P.M.

Добавить в htaccess следующее

# Add a trailing slash to paths without an extension
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond 
%{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule ^(.*)$ $1[L,R=301] 

Будет принудительно редиректить на такую же страницу со слешем


Только интересно в какое место это вставить, перед существующей системой реврайта, после или посередине.

Если перед, то директива “L” в этой строчке: RewriteRule ^(.*)$ $1/ [L,R=301], не будет давать переходить к другим правилам реврайта, доступа к шаблонам и убирания index.php.

Если вконце, то до этого правила, просто не будет доходить.

Если в середине, то последняя часть, а именно убирание index.php (т.е. внутренний редирект) не будет работать, так как он связан с первой частью =)

Увидел вашу подпись: “ExpressionEngine - SEO-ориентированный движок ” смешно до слез smile

Профиль
 
 
Отправлено: 29 Март 2011 04:22 P.M.   [ Игнорировать ]   [ # 15 ]
Администратор
Avatar
RankRankRankRank
Всего сообщений:  1423
Зарегистрирован  2007-12-27

Я скинул пример с работающего сайта. Это избавит от дублирования страниц в поисковике (чего мы, собсно, и добиваемся), т.к. у нас стоит редирект 301.

divined, вот полный код

AddDefaultCharset utf8
Options 
+FollowSymLinks
ErrorDocument 404 http
://www.***.ru/404/

RewriteBase /
RewriteEngine On

# Add a trailing slash to paths without an extension
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond 
%{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule ^(.*)$ $1[L,R=301]

RewriteCond 
%{REQUEST_FILENAME} !-f
RewriteCond 
%{REQUEST_FILENAME} !-
RewriteRule ^(.*)$ /index.php/$1 [L] 
 Подпись 

ExpressionEngine - SEO-ориентированный движок

Профиль
 
 
   
1 из 2
1