netcrox
@netcrox
Всё время женат

RewriteRule для всех поддоменов, как реализовать?

Добрый день!

Пытаюсь в файле apache2/sites-available/domain.ru.conf настроить ЧПУ для всех поддоменов для ссылок вида:
http://*.domain.ru/somePageName.html → http://*.domain.ru/?page=somePageName

Прописываю директивы:
RewriteCond %{REQUEST_URI} !([^/]*)\.html/$
RewriteRule ^/([^/]*)\.html$ /?page=$1 [L]

Получаю результаты:
subdomain.domain.ru/news.html/?page=news
subdomain.domain.ru/questions.html/?page=questions

Что я делаю не так? Спасибо.
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 1
orlov0562
@orlov0562
I'm cool!
Привет,

если говорить, про те дериктивы которые ты написал, то RewriteCond тебе не нужен, т.к. регулярка в RewriteRule покрывает его. В RewriteRule надо убрать лидерующий слэш и указать файл куда передаются данные.

.htaccess
RewriteEngine On
RewriteRule ^([^/]+)\.html$ index.php?page=$1 [L]


index.php
<?php
print_r($_REQUEST);


Так же вот тут ([^/]*) должен быть плюс, т.е. вот так ([^/]+).
* = ноль или более вхождений.
+ = одно или более вхождений.
В случае со звездочкой, у тебя регулярка отработает на url вида domain.tld/.html
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы