Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess到nginx conf_.htaccess_Nginx - Fatal编程技术网

.htaccess到nginx conf

.htaccess到nginx conf,.htaccess,nginx,.htaccess,Nginx,我有这个。htaccess重写规则 AddDefaultCharset UTF-8 RewriteEngine On RewriteRule ^(administrator) - [L] RewriteRule ^$ public/ [L] RewriteRule (.*) public/$1 [L] charset utf-8; rewrite ^/$ /public/ last; rewrite /(.*) /public/$1 last; location ~* ^/(administ

我有这个。htaccess重写规则

AddDefaultCharset UTF-8
RewriteEngine On
RewriteRule ^(administrator) - [L]
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
charset utf-8;
rewrite ^/$ /public/ last;
rewrite /(.*) /public/$1 last;

location ~* ^/(administrator) {
    break;
}
以及nginx版本重写规则

AddDefaultCharset UTF-8
RewriteEngine On
RewriteRule ^(administrator) - [L]
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
charset utf-8;
rewrite ^/$ /public/ last;
rewrite /(.*) /public/$1 last;

location ~* ^/(administrator) {
    break;
}
当前.htaccess将所有请求重定向到/public文件夹,但/administrator请求除外。 使用nginx规则,[domain.tld/rss.php不工作][domain.tld/administrator working][domain.tld working][文件未找到。]

我的申请结构是

.
..
index.php [require public/index.php] 
administrator/index.php
public/index.php
public/rss.php
public/css
public/js

Sepcifiy索引文件:
index index.php

顺便说一句,您应该将rewrite放在适当的位置,以避免对每个请求进行测试。它的可读性/可维护性也更好

server {

    server_name domain.tld;
    root /path/to/root;

    location ~ /(administrator|public) {
        index index.php;
        ...
    } 

    location / {
        rewrite ^/$ /public/ last;
        rewrite ^(.*)$ /public/$1 last;
    }

}