- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Ввиду того, что много юзеров ставят ссылки на мой сайт кривыми, а они иногда с нужными анкорами и на целевые страницы, сделал следующее:
Содержимое файла 404:
Т.е. при запросе несуществующей страницы сначала чекается список (в реале он больше) перенаправлений, и если этого урла нет в списке - выдаётся страница 404, если есть срабатывает 301.
Всё хорошо, всё работает, но Я. воспринял не 301, а 302, и, соответственно, в выдаче вместо нормальных урлов появились кривые.
Платон мотивировал это тем, что при 302 алгоритм выбирает тот урл, который короче. Типа, перебейте на 301 и нормальные урлы вернутся в выдачу автоматом.
На позициях в выдаче это никак не отразилось.
Хелп, почему Я. видит 302, гоша и рама всё верно обработали.
только что проверил, не передаётся 301 в хедер,
нужно заменить строку
@header("Status: 301 Moved Permanently");
на следующую:
header("HTTP/1.1 301 Moved Permanently");
или
header("HTTP/1.1 301");
только что проверил, не передаётся 301 в хедер,
нужно заменить строку
@header("Status: 301 Moved Permanently");
на следующую:
header("HTTP/1.1 301 Moved Permanently");
или
header("HTTP/1.1 301");
Простите за назойливость, а с ("HTTP/1.1 301 Moved Permanently"); 301 передаёт? Т.е. экспериментально проверено?
проверено, да и сами можете проверить заголовки на корректность
или в firefox с плагином, типа,
livehttpheaders
https://addons.mozilla.org/en-US/firefox/addon/3829/
или на сервисах, типа
http://www.rexswain.com/httpview.html
кривой урл чекните и увидите, что вместо 301 идёт 302.
100500 спасибо. :)
забаньте его уже.
По теме: нет такого HTTP заголовка как Status.
Ссылки по теме:
http://en.wikipedia.org/wiki/List_of_HTTP_headers
http://en.wikipedia.org/wiki/HTTP_301
Ребята, ещё один вопрос о ЧПУ:
Урлы на сайте имею вид
/index.php?page=1&offset=53
Вместо 1 в параметре page= может быть и цифра и слово латиницей. В offset= только цифры.
Хотелось бы сделать их вида:
/1/53.html
Запись в хтакцесс вида:
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^(.*)/([0-9]+)\.html$ /index.php?page=$1&offset=$2 [QSA]
почему-то не работает.
Хелп. :)
RewriteEngine on
RewriteRule ^.htaccess$ - [F]
RewriteRule ^([A-Za-z0-9-]+)/([0-9]+)\.html?$ z.php?page=$1&offset=$2 [L]
MBo добавил 21.07.2010 в 12:25
вместо z.php index.php :)
RewriteEngine on
RewriteRule ^.htaccess$ - [F]
RewriteRule ^([A-Za-z0-9-]+)/([0-9]+)\.html?$ index.php?page=$1&offset=$2 [L]
Не работает, правда на локале пробую, посмотрим что сервер скажет. Сайт залил, через несколько часов ДНС обновится и будем посмотреть, может дело в конфиге апача. Хотя, вчера сисадмин конфиг смотрел, всё норм, да и остальные приблуды в работают на локале без проблем, за 4 года первый раз такое.
den78ru добавил 21.07.2010 в 12:57
Вот полный файл:
AddType application/x-httpd-php php phtml html htm
Options -Indexes
ErrorDocument 404 /index.php
IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
RewriteEngine on
RewriteCond %{HTTP_HOST} ^****\.ru(.*)$ [NC]
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=permanent,L]
RewriteEngine on
RewriteRule ^.htaccess$ - [F]
RewriteRule ^([A-Za-z0-9-]+)/([0-9]+)\.html?$ index.php?page=$1&offset=$2 [L]
из последнего блока можно убрать дублирование
RewriteEngine on
RewriteRule ^.htaccess$ - [F]
проверил ещё раз, включая полный htaccess – работает на локалке и сервере,
может не включён mod_rewrite ?
протестируйте, в htaccess закомментируйте всё или удалите на время, внесите
в index.php в самое начало файла после <?php или <? внесите
посмотрите, что выйдет.
:)
no mod_rewrite - это со старым хтакцесс
с новым:
page: 30.html
mod_rewrite OK
Фишка в том, что при исходных файлах, страницы открываются и по старым и по новым адресам(если вбивать их руками в адресную строку), только дошло руками проверить. А вот автоматом не переколбашивает почему-то.