2012-12-22 1 views
2

У меня есть сайт, который использует метод связывания «Smarty Engine» и «? = Link» (я не знаю, как называется этот метод связывания)Как предотвратить определенные ссылки, такие как «? A = page» от открытия

Я уже использовал RewriteEngine в .htaccess использовать .php связи, такие как home.php вместо? а = дома

но как я могу предотвратить? а = дом от открытия? так что страница может открыть только home.php ссылку

Edit: например, Войти страница а = Логин, я использовал эти строки, чтобы открыть его как login.php

RewriteEngine on 
RewriteRule ^/*login.php$ ./?a=login [L] 
?

, но я также необходимо отключить = логин, так что пользователи могут только открытая Войти страницу с «login.php»

+1

жесткий, чтобы полностью понять этот вопрос, но мне кажется, вы хотите отобразить на 'home.php' всех URL-адресов с запросами типа'? А = link' или '? = дома '. Это правильно? Некоторые примеры всегда помогают. –

+0

Благодарим вас за ответ, мой сценарий использует ссылку, такую ​​как: a = home и? A = contact, я хочу, чтобы она загружалась только как home.php и contact.php, которые я уже определил в .htaccess, но я не хотите, чтобы любой пользователь мог открыть home.php с помощью: a = домашней ссылки (я хочу отключить? a = XXX ссылки из .htaccess) – Color

+1

¿Как ваш файл htaccess? Насколько я понимаю, вы хотите избавиться от запросов, периода, и это может быть сделано в htaccess, поэтому важно это знать. –

ответ

1

Основываясь на вашем примере, все, что вам нужно сделать, это что-то вроде этого:

RewriteEngine on 
RewriteRule ^(.*)$ $1? [L] 

Окончательный ? удаляет любой запрос

+1

Конечно. Положите это условие: 'RewriteCond% {QUERY_STRING}! QueryToKeep' Таким образом, правило пропустит все запросы, такие как' QueryToKeep' –

+0

спасибо моему удивительному другу, я снова пробовал голосование, но не смог, я бы хотел проголосовать больше: D еще раз спасибо – Color

+0

Добро пожаловать. –

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