Archive for the ‘modRewrite’ Category

установка mod_rewrite в apache (ubunta)

Tuesday, April 28th, 2009

# sudo a2enmod rewrite

# /etc/init.d/apache2 restart

Оброботка не PHP через php

Wednesday, March 12th, 2008

Заставить не php файлы проходить через php движок

<FilesMatch "\.(css|style)$">
 SetHandler application/x-httpd-php
</FilesMatch>

теперь все файлы с расширение *.css или *.style

Сервер временно на обслуживании

Monday, January 14th, 2008

Во время проведению временных работ над веб-сервером, при наличии mod_rewrite добавляем такие строки в .htaccess:

RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f
RewriteCond %{SCRIPT_FILENAME} !maintenance.html
RewriteRule ^.*$ /maintenance.html [L]

Таким образом, при создании в корне сайта файла maintenance.html пользователю будет отображен контент этой страницы с надписью “Не переживай друг, сервер всего лишь в режиме maintenance”, да и все запросы будут отправлены на эту страницу.

По окончании работ просто удаляем, или же переименовываем страницу maintenance.html, тем самым возобновляя нормальную работу сайта.
Источник

Сайт на SSL защите

Tuesday, December 25th, 2007

Надо быть уверенным что все http запросы переадресуются на https и на порт 443. Для этого вставляем правило для сайта или дериктории.

RewriteEngine on
Options +FollowSymLinks
Allow from all
RewriteCond %{SERVER_PORT} !^443$RewriteRule ^.*$
https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

Статические URL

Monday, May 28th, 2007

Большие сайты любят передавать переменные в адресной стоке не явно, например вместо того что бы в адресной строке стояло
wiki.php?param1=edit&param2=132 хочется видеть wiki/edit/123/ для этого нам понадобится использовать МodRewrite в .htaccess. пишем там следующее

<IfModule mod_rewrite.c>
RewriteBase /
RewriteEngine On
RewriteRule ^wiki/([^/]+)/([^/]+)/?$
    /wiki/index.php?param1=$1&param2=$2 [L]
</IfModule>

попробуем расшифровать регулярку
^wiki/ - если в начале адреса стоит слово wiki и затем слеш (/)
(([^/]+)) - далее любое количество букв, или хотя бы один и символов кроме слеша, берем в скобки что бы использовать как $1
далее такая же вторая группа будет идти как $2
/? - один или вообще отсутствие слеша