Назад | Перейти на главную страницу

Установка правила htaccess для nginx

Привет, у меня возникла проблема при установке правила htaccess в nginx. Мой htaccess:

Правила htaccess:

RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]

Я преобразовал это так:

if (!-f $request_filename){
        set $rule_0 1$rule_0;
}
if (!-d $request_filename){
        set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
        rewrite /.* /index.php/$request_uri last;
}

Я читал, что если это зло для nginx, но я не понимаю этих правил. Мое приложение, которое я пытаюсь настроить:

http://products.cogzidel.com/airbnb-clone/

Теперь правило полезно, когда мы пытаемся получить доступ к админке. Мы получаем к нему доступ, написав / administrator в url, и правила принимают это как ввод для index.php, и мы входим в него. Но после применения этого правила я вижу в журнале, что появляется ошибка 404. Позвольте мне упомянуть, что nginx vhost правильно перезагружается после этого правила, и я добавил это правило в область сервера и область локализации, но не работает

Вы хотите заглянуть в блоки локации http://nginx.org/en/docs/http/ngx_http_core_module.html#location и директивы try_files http://nginx.org/en/docs/http/ngx_http_core_module.html#try_files

Например, если вы посмотрите блог wordpress (довольно подробный пример) http://wiki.nginx.org/WordPress вы увидите это:

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

 location ~ \.php$ {
    fastcgi_split_path_info ^(/wordpress)(/.*)$;
 }

который гласит: «Попробуйте файл прямо в / wordpress, в противном случае передайте его в index.php для обработки».

Большое вам спасибо за представление о пробных файлах. Я работал над этим и ввел этот блок в location: try_files $ uri $ uri / /index.php;

Это сработало, и я не могу получить доступ http://my.url.com/administrator

Кроме того, указанная ниже ссылка на стек лучше всего подходит для понимания пробных файлов, которые мне тоже помогли.

https://stackoverflow.com/questions/17798457/how-can-i-make-this-try-files-directive-work