За последние 24 часа нас посетили 21554 программиста и 1695 роботов. Сейчас ищут 1834 программиста ...

Проблема с последним слэшем.

Тема в разделе "Регулярные выражения", создана пользователем Somebi, 3 авг 2009.

  1. Somebi

    Somebi Активный пользователь

    С нами с:
    3 авг 2009
    Сообщения:
    4
    Симпатии:
    0
    Для чистых url решил использовать этот метод:

    из .htaccess:

    Options +FollowSymLinks
    RewriteEngine On

    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteCond %{SCRIPT_FILENAME} !-f

    RewriteRule ^.*$ ./index.php





    из index.php:

    <?php
    $url= $_SERVER['REQUEST_URI'];
    $params = split("/", $url);

    $allow = array("add", "news");

    if(in_array($params[1], $allow)) {require_once($params[1].".php");}
    elseif(empty($params[1])) {require_once("main.php");}
    else {require_once("404.php");}
    ?>


    Когда ввожу http://localhost/add , то работает.
    Когда ввожу http://localhost/add/ , то страница загружается вообще непонятно как, ни картинок, ни css, просто текст.
    Где пути на все это порятся? Как подправить .htaccess?


    И еще, почему в приходящем массиве add, не в нулевой ячейке?

    Array
    (
    [0] =>
    [1] => add
    )

    Заранее спасибо! :roll:
     
  2. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    .htaccess
    Код (Text):
    1. Options +FollowSymLinks
    2. RewriteEngine On
    3.  
    4. RewriteCond %{SCRIPT_FILENAME} !-d
    5. RewriteCond %{SCRIPT_FILENAME} !-f
    6.  
    7. RewriteRule ^news/?$ index.php?id=news
    8. RewriteRule ^add/?$ index.php?id=add
    Соответственно указывать в PHP для GET.
     
  3. Somebi

    Somebi Активный пользователь

    С нами с:
    3 авг 2009
    Сообщения:
    4
    Симпатии:
    0
    Спасибо. :)
    Но проблема была в путях на css,js и картинки.