.htaccess到nginx conf
我有这个。htaccess重写规则.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
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;
}
}