У меня есть один вопрос. Как я могу использовать свой файл Htaccess на nginx?
Я видел что-то подобное: http://www.anilcetin.com/convert-apache-htaccess-to-nginx/
Но я не знаю, работает ли это, и где я должен вставить коды?
Может кому поможет было бы офигенно!
Приветствую Slaxxer
NGINX не поддерживает ничего вроде .htaccess (если я не ошибаюсь), поэтому вам нужно поместить правила в файл конфигурации NGINX, вероятно, на виртуальном хосте.
Виртуальный хост - это конкретная конфигурация для домена, в конфигурации NGINX она будет выглядеть так:
server { # simple reverse-proxy
listen 80;
server_name domain2.com www.domain2.com;
access_log logs/domain2.access.log main;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
(Взято из образца конфигурации NGINX)
Таким образом, вы должны поместить преобразованные правила .htaccess в квадратные скобки location {} (эквивалентно Apache).
Чтобы дать полный пример, скажем, у меня есть несколько перезаписанных URL-адресов в моем файле .htaccess.
#Enable URL Rewriting
RewriteEngine on
#Rewrite some pages
RewriteRule ^page/([0-9a-zA-Z_-]+).html$ /pagehander.php?page=$1 [QSA]
Запустив через конвертер получаю
rewrite ^/page/([0-9a-zA-Z_-]+).html$ /pagehander.php?page=$1;
Поэтому я бы поместил это в конфигурацию моего сервера NGINX, например
server { # simple reverse-proxy
listen 80;
server_name domain2.com www.domain2.com;
access_log logs/domain2.access.log main;
location / {
rewrite ^/page/([0-9a-zA-Z_-]+).html$ /pagehander.php?page=$1;
proxy_pass http://127.0.0.1:8080;
}
}