(044) 538-1588
UA| RU
 
  1gb - .net, ASP, Windows, Apache, PHP хостинг

Модуль mod_rewrite

Цей модуль дозволяє переписувати URL сторінки на льоту - за спеціальними правилами, запит на URL з клієнтського браузера буде розбитий на частини і перероблений в інший URL перед виконанням запиту. Зазвичай це використовується для конвертування динамічної URL-адреси з параметрами в статичну з ім'ям файлу.

Приклади використання mod_rewrite, практичні рішення

Якщо вже є файл .htaccess, наприклад з таким вмістом

    Options Includes +ExecCGI
    AddType text/x-server-parsed-html .html

то просто додайте знизу код (запуск модуля із зазначенням кореневого URL)

    RewriteEngine on
    Options +FollowSymlinks
    RewriteBase /

# Блокування доступу до .htaccess

    RewriteRule ^.htaccess$ - [F]

# Автоматичне перенаправлення на зовнішню сторінку (при вході в директорію /example користувач буде перенаправлений на http://www.example.org)

    Redirect permanent /example.html         http://www.example.org

# Перенаправлення всіх на сабдомен
    Redirect permanent /        http://test.example.org/

# Для заміни всіх .htm фалів .html файлами

    RewriteRule     ^(.*)\.htm$  $1.html [R=permanent]

# 301й Редирект

    RewriteCond %{HTTP_HOST} ^example\.com
    RewriteRule ^(.*)$ http://www.example.com/$1 [R=permanent,L]

# Відображення різних сторінок, залежно від IP-адреси відвідувача

    SetEnvIf REMOTE_ADDR <192.0.43.10> REDIR="redir"
    RewriteCond %{REDIR} redir
    RewriteRule ^/$ /cool_page.htm

# Видалити /additionally/ зі шляху в адресі

    RewriteRule ^additionally/(.+)$ httр://example.org/$1 [R=301,L]

# Перезапис URL адрес (перенаправлення з одного URL на інший) : RewriteRule поточний URL перезаписуваний URL

    RewriteRule ^(.*)shop/(.*)$ $1cgi-bin/shop.cgi?$2

При запиті http://example.com/cgi-bin/shop.cgi?product1 URL відобразиться так: http://example.com/shop/product1 .
У такий спосіб можна перетворити динамічний сайт на сайт, що має статичну структуру.

# Перенаправлення домашніх каталогів для сторонніх

    RewriteEngine on
    RewriteCond   %{REMOTE_HOST}  !^.+\.yourdomain\.com$
    RewriteRule   ^(/~.+)         http://www.example.org/$1 [R,L]

# Перенаправлення неіснуючих URL на інший сервер

    RewriteEngine on
    RewriteCond   %{REQUEST_URI} !-U
    RewriteRule   ^(.+)          http://example.org/$1

Додаткова інформація

Детальний опис модуля mod_rewrite можна переглянути в документації Apache за адресою http://httpd.apache.org/docs/current/mod/mod_rewrite.html .



Бажаєте стати клієнтом нашого хостингу? Спробуйте наші послуги та сервіс.
Тестовий період до 10 днів, OK реєстрація займає всього одну хвилину.
Будемо раді бачити вас нашим клієнтом!




 

Усі розділи та статті

 
Зверніться за допомогою
та підтримкою
до 1GbWiki

 

   
 
Вгору     
Підтримка: support@1gb.ua
інші способи зв'язку
© 2005-2024 1GB Хостинг