

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
8 messages in ru.sysoev.nginxRe: try_files for alias| From | Sent On | Attachments |
|---|---|---|
| Edho P Arief | Jun 16, 2009 7:57 pm | |
| Edho P Arief | Jun 16, 2009 8:35 pm | |
| Edho P Arief | Jun 18, 2009 6:07 am | |
| Igor Sysoev | Jun 18, 2009 7:10 am | |
| Edho P Arief | Jun 18, 2009 7:40 am | |
| Edho P Arief | Jun 19, 2009 1:30 am | |
| Edho P Arief | Jun 19, 2009 1:33 am | |
| Edho P Arief | Jun 19, 2009 7:51 am |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Re: try_files for alias | Actions... |
|---|---|---|
| From: | Edho P Arief (edho...@gmail.com) | |
| Date: | Jun 19, 2009 1:33:09 am | |
| List: | ru.sysoev.nginx | |
On Fri, Jun 19, 2009 at 3:30 PM, Edho P Arief<edho...@gmail.com> wrote:
2009/6/18 Igor Sysoev <is...@rambler-co.ru>:
On Wed, Jun 17, 2009 at 09:57:41AM +0700, Edho P Arief wrote:
How do I make this work?
location ~ /~someapp(.*)$ { alias /home/someapp/root$1; try_files $uri /~someapp/err404.htm; }
The try_files never catch the $uri (nor $1) and returns 500 (redirection cycle)
Am I 'forced' to use error_page in this case?
This works:
location ~ /~someapp(.*)$ { alias /home/someapp/root$1; error_page 404 /~someapp/err404.htm; }
and without regex the error_page and try_files seem to be completely ignored: neither location /~someapp/ { alias /home/someapp/root/; error_page 404 /~someapp/err404.htm; } nor location /~someapp/ { alias /home/someapp/root/; try_files $uri /~someapp/err404.htm; } works.
If request is "/~someapp/one", then this location
location /~someapp/ { alias /home/someapp/root/; try_files $uri /~someapp/err404.htm; }
will test /home/someapp/root/one existence.
As to
location ~ /~someapp(.*)$ { alias /home/someapp/root$1; try_files $uri /~someapp/err404.htm; }
this "alias" with captures is special case. A "root" is always just prefix to URI and "try_files" tests "root$uri". An "alias" without captures replaces location part in URI with the "alias" value, and "try_files" tests "alias/modified_uri" An "alias" with captures replaces a whole URI with the "alias" value, and "try_files" tests "alias/$uri", and $uri is surpplus here. You need just to pass empty value to "try_files":
location ~ /~someapp(.*)$ { alias /home/someapp/root$1; try_files "" /~someapp/err404.htm; }
I just noticed it doesn't work properly (bug?) location ~ ^/\~([^/]+)(.*\.php)$ { alias /home/$1/public_html$2; try_files "" @404; include php_params; } location ~ ^/\~([^/]+)(.*)$ { alias /home/$1/public_html$2; try_files "" @404; }
php_params: fastcgi_pass 127.0.0.1:8000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include fastcgi_params;
from phpinfo():
_SERVER["SCRIPT_NAME"] ^/\~([^/]+)(.*\.php)$ _SERVER["REQUEST_URI"] /~edho/ _SERVER["DOCUMENT_URI"] ^/\~([^/]+)(.*\.php)$
...still in regex form?
as for static file, it always returned with mime type of application/octet-stream ( http://pastebin.com/m7d2c8f6e )
-- O< ascii ribbon campaign - stop html mail - www.asciiribbon.org
full config: http://pastebin.com/m2be37d60
-- O< ascii ribbon campaign - stop html mail - www.asciiribbon.org







