Помогите переписать URL - PullRequest
       1

Помогите переписать URL

1 голос
/ 17 сентября 2011

Итак, я пытаюсь создать веб-сайт, где index.php будет собирать все страницы вместе на основе параметров, отправленных строкой запроса.

Я хочу «переписать» URL-адреса изФорма: http://example.com/index.php?p=cat1/page1 что-то вроде http://example.com/cat1/page1

Я пытаюсь использовать правила .htaccess mod_rewrite, но не могу заставить что-либо работать.

Я знаю тамгоры информации об этом материале .. Я провел несколько часов, уже читая об этом и возиться, но я чувствую себя застрявшим.Ничто из того, что я делаю, похоже, не дает никаких результатов.

Mod_rewrite загружен на сервер (говорит phpinfo ())

Мой код .htaccess:

RewriteEngine On
RewriteRule ^/([home|cat1|cat2]/)?([a-zA-Z]+_?)*/?$ /index.php?p=$1/$2 [L]

Мой индекс.php код:

<?php 

if (isset($_GET["p"])){
    $page = htmlspecialchars($_GET["p"]);
}else{
    $page = "home";
}

include('./template/header.php');

if (is_dir("./pages/$page")){
    include("./pages/$page/overview.php");
}else{
    if (file_exists("./pages/$page.php")){
        include("./pages/$page.php");
    }else{
        //not found
        echo '<h1 id="pageNotFound">Page Not Found</h1>';
    }
}
include('./template/footer.php');

?>

1 Ответ

2 голосов
/ 17 сентября 2011

Вот ваше исправление .htaccess:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !\.(jpg|jpeg|gif|png|css|js|pl|txt)$
RewriteRule ^(home|services)/([a-zA-Z_\-]+)(\/?)$ /NEP2/index.php?p=$1/$2 [NC,QSA,L]

О PHP, можете ли вы переместить страницы ниже папки public_html?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...