[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите разобраться с мини движком
vestmar
Структура сайта -

[catalog]
    index.php
[papka]
    [files]
      page1.html
      page2.html
      page3.html
      start.php
.htaccess
index.php


Содержимое .htaccess

RewriteEngine on
RewriteRule ^([^/]*)/$ papka/start.php?page=$1 [L]

Содержимое файла start.php

<?php
if(isset($_GET['page'])){$page=$_GET['page'];}
if(isset($page) && !empty($page))
{
$dir="files/";
$file=file_get_contents($dir.$page.".html");
if(!$file)
{
die("File not found!");
}
echo $file;
}
?>


Rewrite Mod делает из ссылок

http://localhost.loc/papka/start.php?page=page1
вот такое:
http://localhost.loc/page1/

#Но вот беда, при запросе:

http://localhost.loc/catalog/

выходит File not found!

потому что страницы такой нет, потому что правило такое, я делал вместо die("File not found!");
die(СЕРВЕР_ХОСТ.СЕРВЕР_РЕКВЕСТ_УРЛ); - но получается цикл))

Помогите решить, что бы и те страницы открывались и таким урлом, и существующие папки открывали.




inpost
Как минимум у тебя:
/papka/files/start.php , ты files пропустил.

А ты сам придумал такой странный каталог? Может тебе подсказать с ЧПУ удобным?

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
vestmar
Я опечатался в вопросе, start.php лежит в папке [files]

Может тебе подсказать с ЧПУ удобным?
Мне бы с этим разобраться) Но рад любым подсказкам)
inpost
vestmar
именно, лежит в папке files, а ты пишешь:
papka/start.php?page=$1

Тут нет ничего про папку files.

RewriteEngine    on 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/favicon.ico
RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]


Это стандартный мой, замени index.php на твой путь полный, я думаю, что ты в пути накосячил. твой: papka/files/start.php

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
vestmar
Извините))
start.php лежит в папке [papka]

Просто время позднее) туплю...
vestmar
моя цель что бы и естественные файлы в папках открывались которые физически лежат, и через mod_rewrite
inpost
vestmar
так они открываются, я выше код скинул

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
vestmar
inpost! Спасибо!

Вот так сделал, RewriteRule ^([^/]*)/$ papka/start.php?page=$1 [L,QSA]

всё ок)
Теперь они это правило конфликтует с другими правилами относящиеся к index.php в корне, может что то не догоняю? возможно поставить rewriet_mod к разным динамическим страницам, в разных папках?
inpost
vestmar
А ты можешь объяснить, зачем тебе 2 разных правила? Это одно правило хватает с головой на все случаи жизни, делаешь всё через единую точку входа (start.php) , далее уже в start.php подгружаешь нужные страницы.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
vestmar
Как говорил Вася из джентельменов)
- Нааааада))

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

Я тебя добавил в ICQ, если не против?
inpost
делаешь всё через index.php, дальше внутри index.php можешь подключить нужный:
if(stripos('/catalog',$_GET['page']) === 0) {
include './papka/start.php';
}

Но это мне не особо нравится, объясни необходимость разделения на разные файлы? Может ты заблуждаешься в логике и поэтому такое творишь... рассказывай причину "очень надо".

А в icq не сижу, только скайп.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
vestmar
Отправил тебе личное письмо, ток нифига не понял куда оно упало, не вижу в исходящих...))
vestmar
а можно твой Skype ?)
inpost
Я тебе в ЛС ответил, но мне сама идея лепить костыли на костыли не нравится. Удали всё и реорганизуй грамотно с самого начала.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.