Измените файл Apache .htaccess для использования с Nginx
Я перевожу веб-сайт с сервера, на котором установлен веб-сервер Apache, на другой сервер, на котором работает веб-сервер Nginx, и я хотел преобразовать файлы.htaccess, проблема заключается не только в синтаксисе, но и в имени файла. это тоже ".htaccess" или как?
3 ответа
Вот инструмент, который я использую:
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
РЕДАКТИРОВАТЬ:
Имя файла должно быть nginx.conf
Nginx не поддерживает файлы .htaccess.
Но файлы.htaccess плохие. Это способ разместить части конфигурации apache везде в файловой системе и указать apache проверять файловую систему при каждом запросе, чтобы увидеть, если у вас нет какой-либо специальной конфигурации. Единственное реальное использование файла.htaccess - делегировать небольшую часть конфигурации пользователю, если вы являетесь хост-провайдером и хотите разрешить некоторую конфигурацию веб-сервера для ваших пользователей.
Конфигурация Nginx компилируется при перезагрузке nginx. Конечно, вы можете включить несколько файлов, которые вы можете поместить в свой веб-каталог, если вы действительно не заботитесь о проблемах с раскрытием информации (например, пользователи просматривают конфигурацию вашего веб-сервера), но, имея то же самое, что и.htaccess, читайте каждый раз запрос сделано, не в пути nginx.
http://wiki.nginx.org/LikeApache-htaccess:
Вы не можете сделать это. Ты не должен. Если вам нужен.htaccess, вы, вероятно, делаете это неправильно.
Посмотрите здесь:
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;
}