404 ошибка или ModRewrite

12
E
На сайте с 25.01.2007
Offline
72
911

Привествую всех. Вообщем сложилась такая проблемка, сам в пхп почти 0 и решил спросить у знатаков.

Есть самописная cms, установил бд и все работает отлично. Но все страницы с сайта вылетают в 404.

Страницы вида /show/192/sbilo_poezdom.html (я так понимаю это чпу)

К сожалению не удалось достать htaccess для этого движка, вроде помню что ModRewrite как раз необходим для чпу. Но фишка в том что страницы уже вида чпу, в базе хранятся по ('id';'title';и.т.д)

выводятся так:

echo '<td width="90" valign="top" style="padding-bottom: 3px;"><a href="/show/'.$rowcontent['id'].'/'.htmlpostfix($rowcontent['title']).'"><img src="/preview/'.$rowcontent['preview'].'" style="width: 90px; height: 70px; border: solid 1px #7FA0B0;"></a></td>';
echo '<td valign="top" style="padding-left: 3px;">';
echo '<a href="/show/'.$rowcontent['id'].'/'.htmlpostfix($rowcontent['title']).'" style="font-weight: bold; font-size: 13px;">'.$rowcontent['title'].'</a><br>';
//echo $rowcontent['desc'].'<br>';

Подскажите люди добрые что можно придумать? что писать в htaccess? Скопировать его не удалось, но он вроде есть для этого движка.

KF
На сайте с 06.10.2007
Offline
40
#1

.htaccess преобразует /show/192/sbilo_poezdom.html примерно в такой вид show.php?id=192&title=sbilo_poezdom

А чтобы было ясно, какому файлу передается и в каких параметрах, нужно посмотреть исходники...

но чаще всего файл index.php или начальное слово(в данном случае получается show.php)

mfl
На сайте с 16.10.2006
Offline
134
mfl
#2

/show/192/sbilo_poezdom.html

если 192 - id, a sbilo_poezdom - title, то:

RewriteEngine On

RewriteBase /

RewriteRule ^show/([0-9]+)/(.+)\.html$ page.php?id=$1&title=$2 [QSA]

, где page.php - скрипт, которому передаются данные

E
На сайте с 25.01.2007
Offline
72
#3

наверно я всех запутал, фишка в том что у меня уже страницы чпу, но htaccess нету

и все страницы с главной выдают 404 ошибку, в базе все прописывается, проверял

mfl
На сайте с 16.10.2006
Offline
134
mfl
#4

Я понял, что нет

Создаешь текстовый файл, вставляешь в него следующий текст

RewriteEngine On

RewriteBase /

RewriteRule ^show/([0-9]+)/(.+)\.html$ page.php?id=$1&title=$2 [QSA]

page.php заменяешь на имя файла, которому передаются данные

переименовываешь файл на .htaccess

E
На сайте с 25.01.2007
Offline
72
#5

mfl, извиняюсь, но чуть не понятно про файлы.

page.php у меня нету

повтор

mfl
На сайте с 16.10.2006
Offline
134
mfl
#6

page.php заменяешь на имя файла, которому передаются данные

Как сказал KeFiR

А чтобы было ясно, какому файлу передается и в каких параметрах, нужно посмотреть исходники...
но чаще всего файл index.php или начальное слово(в данном случае получается show.php)

Как найти этот файл:

в тоталкомандере ищешь файл с содержимым:

$_GET["id"], $_GET['id'], $id, $_GET["title"], $_GET['title'], $title

Каждую переменную ищиешь по очереди,

если надена переменная $_GET["id"] и $_GET["title"] поиск прекращаешь

Затем открываешь найденные файлы и уже смотришь код, тут универсального совета нет; найденный файл к примеру может инлюдится другим, корече смотреть надо.

mfl добавил 11.02.2008 в 13:08

egoryich добавил 11.02.2008 в 13:03
Вообщем понял смысл, поставил в строчке вместо page.php index.php
404 ошибка пропала, но страница не грузится т.е. появляется таже главная

Значить это не index.php, в этом случае просто отрывается index.php без параметров

mfl добавил 11.02.2008 в 13:10

Еще совет, смотри те файлы которые находятся в коревой дирректории, если их не много, можешь по очереди подставлять их навания

E
На сайте с 25.01.2007
Offline
72
#7

нашел файл где есть эти переменные, но он аходится /id/index.php

как прописывать в htaccess его?

mfl
На сайте с 16.10.2006
Offline
134
mfl
#8

На врятли это он, скорее всего он открывается другим файлом в корневой дирректории

теперь ищи строку "id/index.php" в файлах корневой дирректории

E
На сайте с 25.01.2007
Offline
72
#9

mfl, файлов там почти нет, отправил в лс

KF
На сайте с 06.10.2007
Offline
40
#10
show/192/sbilo_poezdom.html

кстати, тут может идти разбивка так

action=show

id=192

title=sbilo_poezdom

И может быть, что где-то инклудится файл show.php и в нем обрабатывается запрос.

Без архитектуры скрипта, очень трудно что либо сказать...приведи хотя бы 1/3 часть index.php, тогда уже можно будет судить что и как происходит в скрипте на начальной стадии

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий