2013-03-06 3 views
0

Могу ли я получить один URL-адрес var get aliased в каталог, а затем любые дополнительные URL-переменные остаются в строке?mod_rewrite single «directory» сохранить остальную часть URL-адресов vars

Пример: Если у меня есть контактная страница и вы хотите поменять «касающийся» выбор на основе быстрой переменной URL.

? Страница = контакт => загружает страницу контактов со всеми по умолчанию

Страница = контакт & относительно = ошибка => загружает контакт с относительно выбора опции для отчета об ошибке автоматически выбранной

#Enable rewrite engine 
RewriteEngine On 
#contact,contact/ -> page=contact 
RewriteRule ^contact?$ ?page=contact [L] 
RewriteRule ^contact/?$ ?page=contact [L] 

Это отлично работает для домена/контакта /, но если я добавлю дополнительные URL-адреса, они будут удалены, даже если они появятся в URL-адресе.

Я понимаю, что я мог бы сделать что-то вроде:

RewriteRule ^contact/bug/?$ ?page=contact&regarding=bug [L] 

, но я предпочел бы это принять любое количество флагов, в случае, если я хотел сделать дополнительные вещи там.

Я хотел бы иметь возможность domain.com/contact/ и domain.com/contact/?regarding=bug

+1

Я думаю, что вы правы флаг Марио, QSA, кажется, что я после. Спасибо. – Jeff

+0

Приведите примеры входящих URL-адресов, чтобы люди не могли угадать, что вы пытаетесь выполнить. –

+0

faa: последнее изменение (последняя строка вопроса) имеет примеры – Jeff

ответ

0

Добавляя флаг QSA, что я был после. Благодаря марио выше для указания этого.

Для справки, код будет:

#Enable rewrite engine 
RewriteEngine On 
#contact,contact/ -> page=contact 
RewriteRule ^contact?$ ?page=contact [L,QSA] 
RewriteRule ^contact/?$ ?page=contact [L,QSA] 
Смежные вопросы