Я переношу веб-сайт с сервера, на котором есть веб-сервер Apache, на другой сервер, на котором запущен веб-сервер Nginx, и я хотел преобразовать файлы .htaccess, проблема заключается не только в синтаксисе, но и в файле имя, это также ". htaccess" или что?
Измените файл Apache.htaccess, который будет использоваться с Nginx
Ответ 1
Вот инструмент, который я использую:
http://www.anilcetin.com/convert-apache-htaccess-to-nginx/
Это не на 100% точно, но это довольно хорошая база.
Также здесь ссылка о преобразовании правил:
http://nginx.org/en/docs/http/converting_rewrite_rules.html
Это поможет немного:
Ответ 2
Nginx не поддерживает файлы .htaccess.
Но файлы .htaccess плохие. Это способ разместить части конфигурации apache erverywhere в файловой системе и сообщить apache проверить файловую систему по каждому запросу, чтобы убедиться, что у вас нет какой-либо специальной конфигурации. Единственным реальным использованием файла .htaccess является делегирование небольшой части конфигурации пользователю, если вы являетесь провайдером хоста и хотите разрешить настройку веб-сервера для своих пользователей.
Конфигурация Nginx скомпилируется при перезапуске nginx. Конечно, вы можете включить несколько файлов, которые вы можете поместить в свой веб-каталог, если вам действительно не нравятся проблемы с раскрытием информации (например, пользователи, использующие конфигурацию вашего веб-сервера), но имеющие то же самое, что и .htaccess, каждый раз считывая запрос выполняется, не находится в режиме nginx.
http://wiki.nginx.org/LikeApache-htaccess:
Вы не можете этого сделать. Вы не должны. Если вам нужен .htaccess, вы, вероятно, ошибаетесь.
Ответ 3
Посмотрите здесь:
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;
}