Как да използвате mod_rewrite (RewriteRule/RewriteCond)

Помощ » Обща информация » .htaccess » Как да използвате mod_rewrite (RewriteRule/RewriteCond)

В тази статия ще Ви покажем как да пуснете mod_rewrite на вашия хостинг акаунт.

Какво е Mod_Rewrite?

Mod_Rewrite е модул на Apache, който Ви помага да правите пренасочвания и да дефинирате правила използвайки .htaccess файла.

За повече информация можете да посетите официалната страница за модула на Apache mod_rewrite.

Как да активираме Mod_Rewrite на споделен хостинг?

Модула на Apache mod_rewrite е предварително инсталиран на всички хостинг планове. Поради тази причина няма да има нужда да инсталирате ръчно модула на сървъра.

За да активирате mod_rewrite за вашия уебсайт .htaccess файла трябва да съдържа следния код:

RewriteEngine On
RewriteBase /

Крайния код в .htaccess трябва да изглежда по следния начин:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Ако сте инсталирали приложението си в поддиректория на вашия домейн (например domain.com/site/) трябва да направите няколко малки промени по кода:

RewriteEngine On
RewriteBase /site/
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /site/index.php [L]

Не забравяйте да замените „site“ с името на директорията, в която се намира вашия уебсайт

Как да активираме mod_rewrite на VPS?

На сървър с Debian/Ubuntu mod_rewrite е инсталиран но не е активен по подразбиране. Ако имате активен VPS акаунт и искате да активирате mod_rewrite трябва да следвате тези стъпки:

  1. Свържете се към VPS-а чрез SSH и изпълнете следната команда:

    a2enmod rewrite

  2. Рестартирайте Apache сървъра:

    /etc/init.d/apache2 restart

  3. Намерете главния .htaccess файл в директорията на уебсайта Ви и копирайте следния код:

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

Запаметете промените, които сте направили и тествайте отново уебсайта.

Готов ли си да създадеш своя сайт?

Pin It on Pinterest

Share This