Sziasztok!
Segítséget kérek a tárgyi témában, szétgugliztam az agyamat, átolvastam a doksikat de nem megy ahogy szeretném.
Egy codeigniter oldalt kellett nginx alá átpakolni. Gugli segítségével megy az oldal, de:
van egy almappa, ahol az oldal adminfelülete van, és az ide érkező kéréseket nem kéne átírni a roothoz.
Ezt alkottam:
if (!-e $request_filename)
{
rewrite ^/myadmin/(.*)$ /myadmin/index.php?/$1 last;
rewrite ^/(.*)$ /index.php?/$1 last;
break;
}
Vagyis a myadmin alá érkező kéréseket írja át myadmin/index.php?.... -ra, a többi meg /index.php?...
(a myadmin almappába egy "al" codeigniter van)
Az oldal megy rendesen, a /myadmin/akármi kérésre 404-et dob.
Ezek a rewrite-ok vannak még előtte, egy CI emberke blogjából:
# enforce www (exclude certain subdomains)
# if ($host !~* ^(www|subdomain))
# {
# rewrite ^/(.*)$ $scheme://www.$host/$1 permanent;
# }
# enforce NO www
if ($host ~* ^www\.(.*))
{
set $host_without_www $1;
rewrite ^/(.*)$ $scheme://$host_without_www/$1 permanent;
}
# canonicalize codeigniter url end points
# if your default controller is something other than "welcome" you should change the following
if ($request_uri ~* ^(/articles(/index)?|/index(.php)?)/?$)
{
rewrite ^(.*)$ / permanent;
}
# removes trailing "index" from all controllers
if ($request_uri ~* index/?$)
{
rewrite ^/(.*)/index/?$ /$1 permanent;
}
# removes trailing slashes (prevents SEO duplicate content issues)
if (!-d $request_filename)
{
rewrite ^/(.+)/$ /$1 permanent;
}
# removes access to "system" folder, also allows a "System.php" controller
if ($request_uri ~* ^/system)
{
rewrite ^/(.*)$ /index.php?/$1 last;
break;
}
Mi lehet a gond?
Köszönöm előre is!
- 3519 megtekintés
Hozzászólások
tedd location block-ba
location /myadmin/ {
rewrite ^/myadmin/(.*)$ /myadmin/index.php?/$1
}
jó tanács, az a rengeteg if tök felesleges
- A hozzászóláshoz be kell jelentkezni
+1, ill. "if is evil" :)
- A hozzászóláshoz be kell jelentkezni
Köszi az infót, ezt alkottam meg:
location / {
try_files $uri @main;
}
location @main {
rewrite ^(.*)$ /index.php?/$1;
}
location /myadmin/ {
try_files $uri @admin;
}
location @admin {
rewrite ^/myadmin/(.*)$ /myadmin/index.php?/$1;
}
Megy a rewrite, ennek ellenére az "al-CI" 404-et hoz ki valahogy,
remélem ez CI beállítási gond lesz, remélem a fejlesztő meg tudja oldani,
---
Why use Windows, if you have open doors… to Linux
- A hozzászóláshoz be kell jelentkezni