Здравствуйте,
После перезда на новый хостинг по переходу по ссылке материала выдает ошибку 404,
ссылки на рубрики и теги работают нормально.
В админке в настройках чпу задан темплейт урла: /%postname%.html
в .htaccess прописан такой код:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
На новом хостинге PHP5 на старом был PHP4.
Буду благодарен за любую помошь
а просто обновить ЧПУ кнопочку нажимали?
Да, без результатно.
Если выставить темплейт урла по умолчанию все работает нормально
mod_rewrite имеется? Обработка .htaccess разрешена? (Это вопросы к суппорту хостинга.)
У меня такая же трабла!
Только у меня свой сервак на котором крутиться ClarkConnect Home Edition 3.2 с апачем и мускулом который идет в комплекте 🙂
как проверить эти 2 пункта?
вот мой код .htaccess
поповоду суппорта – я сам себе суппорт 🙁
Соболезную. 😀
Копать в сторону httpd.conf в части LoadModule и AllowOverride.
Назвался суппортом – читай маны. 😉
Соболезную. 😀
Копать в сторону httpd.conf в части LoadModule и AllowOverride.
Назвался суппортом – читай маны. ;)[/quote]
тоесть трабл не в коде .htaccess ??
Еще вопрос как через putty ( а то через фтп не видно его, но он есть 🙂 ) проверить какие права высталены на .htaccess ??? И какие нужно выставить?
Та вроде похож на настоящий, а там черт его знает.
ls -l /путь_к_DocumentRoot/.htaccess
Чтоб WP мог сам писать – 666, а так и 444 хватит.
-rw-r–r– 1 apache apache 374 Mar 29 22:28 /home/fanta/bla-bla-bla.org/.htaccess
Если не ощибаюсть то это 644 ?
Я прав? если нет то как поставить на него права 666 ??
Вообще-то chmod (man chmod). В данном случае не нужно, владелец – apache. Надо думать, что собственно apach запускается от того же юзера (см. User в httpd.conf)
здесь http://www.bychkov.ru/wordpress/mu-subdomen написано что нужно править
если я поправлю то ошибка The requested URL /archives/4 was not found on this server исчезнет??
Просто не хочу еще больше все испортить
У меня в корне еще есть файл htaccess.dist! Может в нему дело?
Практика – критерий истины.
я полностю согласен но рисоквать не хочу так как на сервер еще много сайтов висят и завалить их я не могу и не хочу
Каким еще способом можна решить трабл???
Просто правка httpd.conf отвечает за создание сабдоменнов а здесь трабл с ЧПУ
Народ неужели никто не может помочь ??
Уже 3 день парюсь
Хелп ми плиз
Я написал, что проверить. Вы, похоже, проигнорировали. И кому из нас нужнее? 🙂
У меня возникла аналогичная проблема.
Но я заметил, что у меня ошибка 404 выдается только в случае, если post_name содержит большие буквы (например, "Мой Пост". Если post_name состоит только из букв нижнего регистра ("мой пост"), то все работает нормально.
Выключите плагин rus-to-lat. Сам недавно 3 часа убил на это :p
Не ставил. Я использую русские названия. Всего скорее проблема именно в этом, но я не могу от них отказаться.
Соболезную. 😀
Копать в сторону httpd.conf в части LoadModule и AllowOverride.
Назвался суппортом – читай маны. ;)[/quote]
Ю.Б. дай Бог вам здоровья!
и снова вы мне помогли, в этот раз ч-з поиск наткнулся на эту тему, т.к. на моем httpd.conf
AllowOverride был причиной неработающих ЧПУ, после смены значения с none на All чпу заработал!
А у меня после переезда перестали работать ссылки вида http://site.ru/Новый-пост при этом ссылки вида http://site.ru/новый-пост работают нормально. Т.е. если в ссылке есть заглавная буква-она не работает. Куда копать в подобном случае?
Вроде понял что копать, но результатов так и нет. Проблема похоже в настройках mysql. Сейчас при попытке создать пост в post_name которого присутствуют заглавные буквы, в бд post_name пишется уже строчными(вместо %d0%b4 пишет %d0%94). Ну и все так же не находит посты в post_name которых в базе прописаны заглавные буквы. К тем же постам у которых в post_name заглавные буквы заменены строчными можно обращаться как угодно хоть /новый-пост хоть /НоВЫй-ПосТ.
Привет всем. Возникла вот такая проблема в разделе ЧПУ. В этом разделе использую вот такой код /%category%/%postname%.html. И еще плагин RusToLat. И тут самое интересное вот например ссылка должна писаться вот так http://blog-kras.ru/raskrutka/dobavil-blog-v-poiskoviki.html а пишиться вот так http://blog-kras.ru/raskrutka/dobavil-blog-v-poiskoviki.html#content В чем проблема почему не пишеться http://blog-kras.ru/raskrutka/dobavil-blog-v-poiskoviki.html Или это не проблема
На теме default тоже самое? А если еще и все плагины отключить?
Все спассибо за быстрый ответ на default все отлично
Kras, дело в Вашей теме, нужно копать код и убирать этот "#content" из ссылок.
Может все-таки кто-нибудь объяснить где зарыта собака? =) На старом хостинге в post_name записывалось имя поста с заглавными буквами, типа Мой-Пост (поле короткая ссылка). При этом никакой другой возможности обратиться к посту кроме заданной в post_name нет. Т.е. /мой-пост уже не работает. На новом хостинге если в post_name есть заглавные буквы – ссылки не работают, но как только исправляем в записи короткую ссылку (она вообще-то сама правиться в отличии от старого хостинга т.е. я пишу в короткую ссылку Мой-Пост а в б.д. она уже выглядит как мой-пост). После этого я могу писать хоть /мОй-пОСт вcе равно попадаю в нужную запись. o_O
Во-первых, все слаги проходят "санитарную обработку" (фильтр sanitize_title), которая включает в себя strtolower. Во-вторых, сравнивамость больших и маленьких букв в базе зависит от установленного сопоставления (collation): *ci – регистронозевисимое, *cs – зависимое.
Почему при переезде такие перемены. В wordpress ничего изначально не менял. Со временем везде, где только можно перепроверил и поставил ci в том числе и в wp-config -> define(‘DB_COLLATE’, ‘utf8_general_ci’);
Может быть здесь проблема?
Для старого сервака:
_SERVER["HTTP_ACCEPT_LANGUAGE"] ru-RU,ru;q=0.9,en;q=0.8
_SERVER["HTTP_ACCEPT_CHARSET"] iso-8859-1, utf-8, utf-16, *;q=0.1
Для нового сервака:
_SERVER["HTTP_ACCEPT_LANGUAGE"] ru,en-us;q=0.7,en;q=0.3
_SERVER["HTTP_ACCEPT_CHARSET"] windows-1251,utf-8;q=0.7,*;q=0.7