Черен Петък ! Грабнете сега допълнителна отстъпка от 20% с код BlackFriday !

Nginx и .htaccess

Nginx и .htaccess

Липсата на поддръжка на .htaccess в Nginx и решението в DirectAdmin с Nginx Rewrites

Nginx е един от най-бързите и ефективни уеб сървъри, но за разлика от Apache, той не поддържа .htaccess файлове. Това е умишлено решение, тъй като .htaccess влияе на производителността, като изисква допълнителни проверки във всяка директория. Въпреки това, много уеб приложения разчитат на .htaccess за управление на пренаписванията на URL адреси, защитата на директории и други конфигурации.

При използването на DirectAdmin с Nginx като уеб сървър, решението на този проблем е интеграцията на Nginx Rewrites.

Защо Nginx не поддържа .htaccess?

Apache използва .htaccess, за да позволява конфигурация на ниво директория, като това включва правила за пренаписване, ограничения за достъп, кеширане и други. Основният проблем с .htaccess е, че при всяка заявка, Apache проверява всички родителски директории за .htaccess файлове, което увеличава натоварването.

Nginx, от друга страна, използва централизирана конфигурация, която се зарежда веднъж при стартиране. Това значително подобрява производителността, но означава, че всички пренаписвания и правила трябва да бъдат дефинирани в основната конфигурация на сървъра.

Как DirectAdmin решава проблема с липсата на .htaccess?

DirectAdmin предлага механизъм за управление на Nginx Rewrites, чрез който .htaccess правила могат да бъдат конвертирани и добавени в конфигурацията на Nginx за съответния домейн. Това се прави чрез темплейти, които могат да бъдат редактирани, за да отразяват нуждите на конкретен уебсайт.

В directadmin има няколко начина за конфигуриране на Nginx Rewrites:

1. Използване на Nginx шаблони – ( При споделен хостинг )

DirectAdmin използва система от шаблони за управление на конфигурацията на Nginx.
Това става от контролния панел като :

  • Отиваме в “Advanced features” > “Nginx URL Rewrites”.
  • Избираме “Add Template> Избираме директория, за която да се приложи темплейта и съответния темплейт :
    Към момента са налични следните темплейти :
  1. XenForo
  2. WordPress (FastCGI Cache)
  3. WordPress
  4. Symfony
  5. SilverStripe
  6. PyroCMS
  7. OpenCart
  8. Omeka (Omeka-s)
  9. Laravel
  10. Joomla
  11. Drupal
  12. Dokuwiki
  13. Codeigniter
  14. CMS Made Simple

Ако не намирате необходимия шаблон за вашата cms свържете се с нас, ние ще добавим шаблона или необходимите правила.

2. Конвертиране на .htaccess правила в Nginx формат – ( При Managed VPS )

При Managed VPS от Forge.BG потребителите имат както пълен root достъп така и пълен администраторски достъп на целия контролен панел. Това позволява използването директно добавяне на къстъм шаблони към nginx.conf.

Например :

Това е стандартен .htaccess за wordpress :

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

Стандартен .htaccess за wordpress в nginx изглежда така :

location / {
try_files $uri $uri/ /index.php?$args;
}

 

За да приложим това правилно отиваме в контролния панел :

  • Отиваме в “Server Manager” > “Custom HTTPD Configurations”.

  • Намираме домейна за който искаме да приложим промени и натискаме бутона nginx.conf

  • Ще се отвори целия nginx.conf, намираме бутона CUSTOMIZE

  • Ще се отвори отделно поле, което може да се променя така че да се запазят настройките след всеки ъпдейт на системата

При нужда от съдействие не се колебайте да ни потърсите. Нашият екип е винаги на разположение.

Сподели статията