Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Помогите с .htaccess и редиректом урлов

306
16 января 2012 года
order.daemon
275 / / 11.05.2007
Думаю классическая проблема, пришел СЕО сказал заменить урлы на одни, потом на вторые.

В общем есть старые урлы формата:
 
Код:
http://sitename.com/124124-ponyatnie-chepeu


Новые урлы сократили до:
 
Код:
http://sitename.com/124124


Как теперь настроить редирект, чтобы файл htaccess обрезал все до ID статьи.
369
16 января 2012 года
Kesano
451 / / 09.10.2007
Цитата: order.daemon
Думаю классическая проблема, пришел СЕО сказал заменить урлы на одни, потом на вторые.

В общем есть старые урлы формата:
 
Код:
http://sitename.com/124124-ponyatnie-chepeu


Новые урлы сократили до:
 
Код:
http://sitename.com/124124


Как теперь настроить редирект, чтобы файл htaccess обрезал все до ID статьи.


ДО или ПОСЛЕ???

RewriteRule ^(\d+) /index.php?id=$1 [QSA]

А вообще что, кусок старого .htaccess выложить нельзя? коммерческая тайна?

306
17 января 2012 года
order.daemon
275 / / 11.05.2007
сайт работает на WP, в данный момент есть такой mod_rewrite.c

 
Код:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
369
18 января 2012 года
Kesano
451 / / 09.10.2007
Мммм.. Если это WP, то нужно делать это средствами WP...
Я не люблю блого-цмски (лень разбирать чужой код), а потому не подскажу...
По идее (как часто бывает) движки берут айди (который уже есть в ссылке, включая новую) и продолжение (ЧПУ)... Если продолжения (алиаса) нет, то берется только айди...
Может можно средствами WP переименовать алиасы страниц??? Вынимем из базы все алиасы и айдишники, обрабатываем регуляркой, формируем пакетный запрос, заливаем обратно (делаем бэкапы!!!)...
Ну или ручками...
306
18 января 2012 года
order.daemon
275 / / 11.05.2007
В блоге я могу изменить формат ссылки, но старые остались у поисковиков в другом формате и хочется не терять пользователей которые придут по старой ссылке.
Ведь файл htaccess работает в независимости от CMS, нужно только знать формулу как обрезать старые ссылки...
P.S Чебурашка выручай.
277
18 января 2012 года
arrjj
1.7K / / 26.01.2011
Цитата: order.daemon
В блоге я могу изменить формат ссылки, но старые остались у поисковиков в другом формате и хочется не терять пользователей которые придут по старой ссылке.
Ведь файл htaccess работает в независимости от CMS, нужно только знать формулу как обрезать старые ссылки...
P.S Чебурашка выручай.



Он же тебе уже ответил

Цитата: Kesano
ДО или ПОСЛЕ???

RewriteRule ^(\d+) /index.php?id=$1 [QSA]

А вообще что, кусок старого .htaccess выложить нельзя? коммерческая тайна?



(Вобще вроде так над: RewriteRule ^(\d+) /$1 [QSA] или так RewriteRule ^(\d+)-.*$ /$1 [QSA,L])

306
18 января 2012 года
order.daemon
275 / / 11.05.2007
Цитата:
RewriteRule ^(\d+) /$1 [QSA] или так RewriteRule ^(\d+)-.*$ /$1 [QSA,L]



Не так не работает....

369
20 января 2012 года
Kesano
451 / / 09.10.2007
Цитата: order.daemon
Не так не работает....



Потому что у тебя сервер валится с 500-й ошибкой или браузер рассказывает про циклический запрос...

нужно нае**ать сервер...

RewriteRule ^(\d+).*$ /$1 [L]
Как-то так...
Суть...Если идет ссылка в виде /12345-tipa-chpu , мы редиректим её на /12345 отбрасывая другие символы...
И теперь запрос попадает под другое правило (родное ВП-шное) и ВП получит в качестве REDIRECT_URL /12345 , без ЧПУ...

396
22 января 2012 года
SibBear
223 / / 27.07.2006
А 301м редиректом не але? Или 301й не умеет разбирать регулярные выражения? мне тоже интересно, предстоит в будущем я чувствую...
306
25 января 2012 года
order.daemon
275 / / 11.05.2007
А как мне его дописать в файл:

Код:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(\d+).*$ /$1 [L]

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог