@Win32Sector

Как в apache сделать RewriteRule одно для главной, другое для всех остальных страниц?

Доброго дня!

Подскажите, пожалуйста, что я делаю не так?

На данный момент, для всех страниц сайта установлено следующее правило:

RewriteCond %{HTTP_ACCEPT} text/html [NC]
RewriteCond %{HTTP_HOST} ^mysqite\.com [NC]
RewriteRule .* path/to/html/my.html [L]


Оно перенаправляет все запросы на my.html.
Как сделать так, чтобы с главной запросы уходили на страницу my-main.html, а с остальных страниц на my.html

Вот такое пробовал, но не работает. Точнее, с главной запросы уходят правильно на my-main.html, а с других страниц на my.html - нет.
RewriteCond %{HTTP_ACCEPT} text/html [NC]
RewriteCond %{HTTP_HOST} ^mysqite\.com$ [NC]
RewriteRule ^$ path/to/html/my-main.html [L]

RewriteCond %{HTTP_ACCEPT} text/html [NC]
RewriteCond %{HTTP_HOST} ^mysqite\.com [NC]
RewriteRule ^/(.*) path/to/html/my.html [L]
  • Вопрос задан
  • 87 просмотров
Пригласить эксперта
Ответы на вопрос 2
@dodo512
RewriteRule ^/

В таком виде это работает только в контексте VirtualHost, а в .htaccess строка с которой работает RewriteRule не начинается с /
httpd.apache.org/docs/2.4/mod/mod_rewrite.html#rew...
In VirtualHost context, The Pattern will initially be matched against the part of the URL after the hostname and port, and before the query string (e.g. "/app1/index.html"). This is the (%-decoded) URL-path.

In per-directory context (Directory and .htaccess), the Pattern is matched against only a partial path, for example a request of "/app1/index.html" may result in comparison against "app1/index.html" or "index.html" depending on where the RewriteRule is defined.
Ответ написан
@Win32Sector Автор вопроса
Удалос справится так:

RewriteCond %{HTTP_ACCEPT} text/html [NC]
RewriteCond %{HTTP_HOST} ^mysqite\.com$ [NC]
RewriteRule ^$ path/to/html/my-main.html [L]

RewriteCond %{HTTP_ACCEPT} text/html [NC]
RewriteCond %{HTTP_HOST} ^mysqite\.com [NC]
RewriteRule !^/path/to/html/my-main$ path/to/html/my.html [L]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы