Вопрос о .htaccess - PullRequest
       1

Вопрос о .htaccess

1 голос
/ 13 июня 2011

У меня есть .htaccess:

RewriteRule ^index.php cont.php?id=1

но если я перехожу на index.php? Image = bla.jpg

почему-то вижу страницу: cont.php? Id = 1

Как мне сделать, чтобы единственный URL index.php откроет cont.php? Id = 1 , а не другие, такие как index.php? Image = bla.jpg

Спасибо.

Ответы [ 4 ]

2 голосов
/ 13 июня 2011

Вам также необходимо проверить запрошенный запрос URI:

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^index\.php$ cont.php?id=1
2 голосов
/ 13 июня 2011
RewriteRule ^index.php cont.php?id=1

Это соответствует всему , начиная с index.php (вот что означает ^). Вы должны сказать, что путь также должен заканчиваться , что обозначено знаком $. ( Apache docs )

RewriteRule ^index\.php$ cont.php?id=1

Также рекомендуется экранировать ., в противном случае он соответствует любому отдельному символу (например, index1php).

1 голос
/ 13 июня 2011
RewriteRule ^index.php$ cont.php?id=1

добавить знак доллара после index.php

0 голосов
/ 13 июня 2011
 RewriteRule ^index.php cont.php?id=1 [QSA]

Вам нужен атрибут QSA - он говорит Apache передать любую строку запроса на переписанный адрес

...