Перенаправление с помощь с htaccess

Рейтинг: 0Ответов: 2Опубликовано: 27.10.2014

Помогите написать код, чтобы, набирая название-сайта.com/название-страницы, перебрасывало пользователя на название-сайта.com/?название-страницы, но в адресе у пользователя ничего не менялось. При этом не выполнять при: название-сайта.com/?название-страницы.

Пробовал:

RewriteEngine on
RewriteCond %{REMOTE_HOST} -f
RewriteCond %{REQUEST_URI} /[^\?](.+)
RewriteRule ^(.+)$ http://mydomen.com/\?$1 [L]

Ответы

▲ 2Принят
RewriteEngine on

# Эта ваша строка не имеет смысла... Сначала не заметил эту ошибку
# RewriteCond %{REMOTE_HOST} -f

RewriteCond %{QUERY_STRING} ^$

RewriteRule ^(.+)$ http://mydomen.com/?$1 [L]

Обновление

@Minetrader

%{QUERY_STRING} - строка запросов (?название-страницы)
^ - символ начала строки.
$ - символ конца строки.
^$ - пустая строка. Иными словами, все вместе это значит, что в URL нет части ?название-страницы.

▲ 3
RewriteEngine on
RewriteRule ^\?(.+)$ - [L] # если в начале есть ?, то ничего не делать и закончить преобразования
RewriteRule ^(.+)$ http://mydomen.com/?$1 [L] # если дошли до сюда, то преобразовываем