2013-07-13 2 views
1

Я создаю раздел часто задаваемых вопросов. Он будет иметь отдельные секции.htaccess переписать для php-логики

section1 Q1 A1

Q2 A2

section2 ... ETC.

Я пытаюсь добавить некоторую логику PHP, которая будет работать с .htaccess rewrite.

страница будет иметь следующую логику:

$faq_S = $_GET['section']; 
$faq_Q = $_GET['q'];  

if (!isset($faq_C)) { 
    // show all sections 
} else { 
    // show only the section that's set 

    if (!isset($faq_q)) { 
    // open the question 
    } else { 
    // show all questions in the section 
    } 
} 

Итак, для того, чтобы иметь возможность получить доступ к странице без раздела и вопрос ценностей у меня есть это:

RewriteRule ^faq|faq/$ pages/faq.inc.php [NC,L] 

и я желавшему чтобы добавить раздел и вопрос как:

RewriteRule ^faq/([^/]+)/([^/]*)$ pages/faq.inc.php?cat=$1&q=$2 [NC,L] 

Но кажется, что, хотя первое правило работает, сек ond нет. Также я думаю, что может быть лучший способ объединить его в одном. Здесь?

ответ

3

Вы можете использовать следующую ReWriteRule в файле .htaccess направить /faq, /faq/value1 и /faq/value1/value2 запрашиваемых заходящей cat и q

ReWriteRule ^faq/?([a-zA-Z0-9]+)?/?([a-zA-Z0-9]+)?/?$ pages/faq.inc.php?cat=$1&q=$2 

Ofcourse странице, вы можете изменить [a-zA-Z0-9] на любой другой селектор вам нравится. ..

EDIT

Просто, чтобы уточнить, это заменяет ОБА ваших текущих правил.

+0

Он будет перенаправлен на: 'mydomain.com/pages/faq.inc.php? Cat = & q ='. '$ _GET ['cat']' и '$ _GET ['q']' оба будут пустыми переменными (например, '$ _GET ['cat'] == ''') – Steven

+0

Это замечательно. Что произойдет, так это то, что просто используется: http://mydomain.com/faq? Я пробовал ссылки в формате (выше), и я не мог заставить его работать. Я добавил «_» тоже. – santa

+0

О, я вижу. Дай мне попробовать снова. Может быть, я что-то пропустил? – santa

Смежные вопросы