Profruit banner

Умен звънец в openHAB

16 декември 2023

Телефонът е винаги с мен и сега, където и да се намирам получавам известие от openHAB, че някой е позвънил и чака пред вратата. А ако ме няма вкъщи става ясно часа и датата на последното позвъняване.

Tasmota Multipress

30 септември 2023

Идеята е Sonoff Touch T1 US 2 в салона, да управлява освен своето осветление и това в кухнята, а още вентилатора.

DIY 12V 1A WiFi Router UPS

22 април 2023

При поредно прекъсване на захранването вкъщи, батерията на нoтбука и двата UPS автоматично превключват на аварийно захранване и едновременно полита съобщение за конфуза

Zigbee2MQTT клониране

21 януари 2023

... как да клонираме съществуваща настройка на Zigbee2MQTT без да се налага последвало интервю на zigbee-устройствата.

LD2410 - бюджетен датчик присъствие в openHAB

11 февруари 2023

Цената на HLK-LD2410 зададе име на поредната тема в моя блог. С негова помощ се постига "народен" датчик присъствие в домашната автоматизация. . ...


Най-забележителен програмен модул на уеб-сървър Apache е mod_rewrite. Модулът е много универсален и разноприложим, но първичната му функция е манипулация на действията по URL, основана на механизъм от правила по динамическо изменение на заявените URL-и. Овладяването на този модул е принципно важно за вашите уеб-умения и не опира до това, дали ще го ползвате постоянно, а да знаете какво умее, когато назрее желание да направите нещо повече над вашия сървър.

Активация на mod_rewrite в Apache2 под Ubuntu 12.04

Инсталацията на Apache2 в Ubuntu 12.04 добавя mod_rewrite, но не го активира.
Пълен списък на модулите дошли от инсталация дават следните команди:

## преход в каталога с модули
cd /etc/apache2/mods-available

## списък
ls

Маркирания в черно е коментираният модул.

mod_rewrite в Apache2 под Ubuntu 12.04

Активацията изисква следните стъпки приведени в последователност команди, като първата команда е пореден начин за проверка наличие на модула.

## проверка наличие на модула
cat /etc/apache2/mods-available/rewrite.load

## активация на модула
sudo a2enmod rewrite

## символична връзка към /etc/apache2/mods-enabled
ls -al /etc/apache2/mods-enabled/rewrite.load

Следва малка редакция с предпочитан от вас редактор. Под администраторски права заменете всички изрази AllowOverride None на AllowOverride all и съхранете измененията в файл - /etc/apache2/sites-available/default

## замяна "AllowOverride None" на "AllowOverride all"
sudo nano /etc/apache2/sites-available/default

## рестарт на Apache2 - сървър
sudo service apache2 restart
В последната команда вместо restart може да се напише reload. Разликата е, че при reload уеб-сървъра препрочита конфигурационния си файл, докато при restart има пълно презареждане, а това е приложимо при отсъствие на външни потребители.

Действия.

Активация на mod_rewrite в Apache под Ubuntu

Проверка на краен резултат през терминала.

## активни модули в Apache2
apache2ctl -M | sort

## команда-синоним
apachectl -t -D DUMP_MODULES | sort

Проверка на краен резултат чрез PHP-файл.

<pre>
  <?php
   print_r(apache_get_modules());
  ?>
</pre>

Относно mod_rewrite

Едни от най-важните директиви на mod_rewrite:
  • RewriteEngine: Вкл/Изкл на модула за текущата заявка.
  • RewriteBase: Задава базовия URL за преобразуване в контекста на каталога.
  • RewriteRule: Определя правилото за формиране на URL.
Синтаксис на mod_rewrite
НАЧИН_на_ПРЕОБРАЗУВАНЕ     ПРАВИЛО_на_ПРЕОБРАЗУВАНЕ     [ПАРАМЕТРИ]

Пример

Да речем, че за бъдещ сайт написан по рецептата за MVC-строеж е необходим bootstrap-файл. Това е index.php, а правилата на играта съответно ще се задават от .htaccess.

примерен сайт

На първо време index.php съдържа приветствие.
<h3>Hello, World!</h3>
а .htaccess това.

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteBase /mvc/
 RewriteRule !\.(js|gif|png|jpg|css)$ index.php
</IfModule>

Тогава, първи ред проверява за наличие на модула. В втори ред става включване. В трети ред се указва корена на бъдещия сайт. В четвърти ред се задава правило според синтаксиса на mod_rewrite. Шаблон на регулярен израз ще следи имената на разширенията на файловете. Всичко различно от зададения диапазон ще се пренасочва към index.php.

При обръщение към родителския каталог става пренасочване към index.php.

обръщение към родителския каталог

При обръщение към несъществуващ HTML-файл отново пренасочване към index.php.

обръщение към несъществуващ HTML-файл

При обръщение към несъществуващ GIF-файл - грешка 404.

обръщение към несъществуващ GIF-файл






до нови срещи   ^.^
07.03.2015 profruit 

0 Response to "Активация на mod_rewrite в Apache2 под Ubuntu 12.04"

Публикуване на коментар

Този блог е реинкарнация на първите ми опити за споделяне в нета. На времето започнах с къси разкази на преживяното. После се обезсмисли и превърнах блога си в системно радио. Пиша единствено неща, които карат душата ми да живее: openHAB, Ubuntu, Споделено и т.н. Това е моето системно радио, разбирате ли? Моята вълна и вие сте на нея сега.

Архив на блога