правила mod_rewrite - PullRequest
       12

правила mod_rewrite

0 голосов
/ 24 июля 2009

Я пытаюсь получить данные после URL и отправить обратно на домашнюю страницу. У меня были ошибки в файле .htaccess на одном сервере, поэтому я пробую его на другом сервере.

Ссылки внизу http://www.newbiemoneymakers.com/bank/ должны делать непосредственно на http://www.newbiemoneymakers.com/bank/index.php, где я затем получаю заголовок.

Мой файл .htaccess говорит:

RewriteEngine on
RewriteRule ^http://www.newbiemoneymakers.com/bank/([^/\.]+)/?$ index.php?title=$1 [L]

Моя страница указателя говорит:

<?php

    include('includes/functions.php');

    $activeTab = "navhome"; 
    $sent = false;

    $title = (isset($_GET['title']))? mysql_real_escape_string($_GET['title']) : 'Home';    
    $title = str_replace('-',' ', $title);

    if($title != '') {  

        $sql = "SELECT * 
                FROM contents 
                WHERE name LIKE '%$title%'
                LIMIT 1";

        $result = @mysql_query($sql);       
        $row = mysql_fetch_assoc($result);      
    }

    //Set page title
    $pagetitle = (isset($row['name']) && $title != 'Home')? ucwords($row['name']) : "Bank Charges";
?>

Но когда я нажимаю на любую из ссылок (например, http://www.newbiemoneymakers.com/bank/bank-charges-refund/) это дает мне страницу 404!

Вы знаете, где я ошибаюсь?

Ян

1 Ответ

2 голосов
/ 24 июля 2009

Шаблон RewriteRule только что протестирован и повторяет путь URI (в файлах .htaccess без контекстного префикса для каждого каталога, поэтому в корневом каталоге без ведущего /).

Итакэто должно работать:

RewriteRule ^bank/([^/.]+)/?$ bank/index.php?title=$1 [L]
...