Я использую neginx, тогда мне нужно преобразовать правила перезаписи htaccess в правила перезаписи neginx. Я использовал это для преобразования. Теперь я хочу знать, как использовать вывод?
.htaccess:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?rt=$1 [L,QSA]
ErrorDocument 404 /error404.html
Правила nginx: (выход)
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?rt=$1 last;
}
как я должен использовать вывод?
Следует отметить, что у меня есть несколько.htaccess в разных папках (3 файла.htaccess в 3 разных папках)
В nginx нет такой вещи, как файл htaccess. Все ваши правила nginx должны идти непосредственно в файл конфигурации nginx.
См.: http://nginx.org/en/docs/beginners_guide.html#conf_structure
Что вам нужно сделать, потому что ваши файлы htaccess находятся в разных папках, вам необходимо обернуть правила в блоках location
.
Например, если правила, которые вы опубликовали, были переведены из файла htaccess в папку "blogs", вы должны сделать следующее:
location /blogs/ {
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?rt=$1 last;
}
}
location
как это:location /folder_name/ {}
в файле конфигурации, верно?ErrorDocument 404 /error404.html