2009-08-05 2 views
14

Хорошо, им это очень понравилось, и я очень благодарен за помощь, спасибо!htaccess переписать для строки запроса

Как я могу правильно переписать это в .htaccess?

Так у меня есть строка запроса в моей URL:

/?url=contact 

Все, что я хочу сделать, это удалить строку запроса,

/contact 

Помощь? Я просмотрел google, и сейчас изучаю синтаксис, но факт остается фактом. Я не знаю, как это сделать. Благодаря всем

+1

должны быть вновь открыты. Это вопрос, связанный с программированием (хотя он не приносит больших усилий), и я хотел бы получить лучшие ответы, чем здесь. – Andrew

ответ

22

Это было мое решение:

RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]

15
RewriteCond %{QUERY_STRING} url=(.*) 
RewriteRule index.html %1 

(или что-то, если это не index.html, index.php, что угодно)

Вы должны захватить строку запроса, который не посмотрел на RewriteRule нормально, и использовать % 1 ссылка назад, а не $ 1, как если бы в захвате в RewriteRule

24

Попробуйте это:

RewriteEngine On 
RewriteRule ^(.*)$ /index.php?url=$1 [L] 

для пользователя на вашем сайте, они будут видеть и перейти к следующему:

http://example.com/contact 

Но реальная страница будет выглядеть примерно так:

http://example.com/index.php?url=contact 

Этот бит, [L], сообщает серверу, что это последняя строка правила переписывания и остановиться.