Измените файл Apache .htaccess для использования с Nginx - PullRequest
35 голосов
/ 03 января 2012

Я мигрирую веб-сайт с сервера, на котором установлен веб-сервер Apache, на другой сервер, на котором работает веб-сервер Nginx, и я хотел преобразовать файлы .htaccess, проблема не только в синтаксисе, но и в файле имя, это также ". htaccess " или как?

Ответы [ 3 ]

36 голосов
/ 03 января 2012

Вот инструмент, который я использую:

http://www.anilcetin.com/convert-apache-htaccess-to-nginx/

Это не на 100% точно, но довольно хорошая база

Также вот ссылка на преобразование правил:

http://nginx.org/en/docs/http/converting_rewrite_rules.html

Этот может немного помочь:

http://wiki.nginx.org/HttpRewriteModule#rewrite

EDIT:

Имя файла должно быть nginx.conf

22 голосов
/ 10 января 2012

Nginx не поддерживает файлы .htaccess .

Но файлы .htaccess плохие.Это способ разместить части конфигурации apache везде в файловой системе и указать apache проверять файловую систему при каждом запросе, чтобы увидеть, если у вас нет какой-то специальной конфигурации.Единственное реальное использование файла .htaccess - делегировать небольшую часть конфигурации пользователю, если вы являетесь хост-провайдером и хотите разрешить некоторую конфигурацию веб-сервера для ваших пользователей.

Конфигурация Nginx компилируется, когда nginxзапустить снова.Конечно, вы можете включить несколько файлов, которые вы можете поместить в свой веб-каталог, если вы действительно не заботитесь о проблемах с раскрытием информации (например, пользователи просматривают конфигурацию вашего веб-сервера), но имеют то же самое, что и .htaccess, читайте каждый раз запроссделано, не по nginx.

http://wiki.nginx.org/LikeApache-htaccess:

Вы не можете сделать это.Ты не должен.Если вам нужен .htaccess, вы, вероятно, делаете это неправильно.

0 голосов
/ 04 ноября 2015

Посмотрите здесь:

https://www.digitalocean.com/community/questions/configuring-multiple-domains-and-subdomains-dns-nginx-issues-abound

server {  
    server_name  domain1.com;  
    rewrite ^(.*) http://www.domain1.com$1 permanent;  
}  

server {  
    listen 80 default_server;  
    listen [::]:80 default_server ipv6only=on;  
    root /home/user/www/domain1;  
    index index.php index.html index.htm;  

    server_name www.domain1.com;  

    include hhvm.conf;      
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...