Hi:

Stuck with a problem involving with the pyramid's request urls
(i.e. request.static_url, request.application_url are 2 identifiable
suspects).

The generated request urls in pyramid somehow includes the view url
when I put it
on the web host, but works fine locally using pserve.


For instance,

config.add_route('signin','/view/signin')

Inside the mako template

I have

href="${request.static_url('project:static/blueprint/css/
screen.css')}"

which should show (using pserve)

href="http://www.site.com/static/blueprint/css/screen.css";

instead it shows
href="http://www.site.com/view/signin/static/blueprint/css/screen.css";


Another example is on the front page urls should show

src = "http://www.site.com/static/img/foo.jpg";

instead it shows

src = "http://www.site.com//static/img/foo.jpg";

I'm currently running pyramid 1.3 + mako templates
using nginx 0.8.53 + Phusion passenger 2.2.15 on a VPS server

This is the same with request.application_url
In the view code i sent a dict( url = request.application_url + '/view/
signin')

The url for the form should
display

action="http://www.site.com/view/signin";

instead it shows

action="http://www.site.com/view/signin/view/signin";

I've copied some of the nginx settings on

http://wiki.pylonshq.com/display/pylonscookbook/Running+Pylons+with+NGINX

in particular
        #site runs on Pylons
        location / {
            include /usr/local/nginx/conf/proxy.conf;
            proxy_pass  http://127.0.0.1:8080;
            proxy_redirect  default;
        }

and proxy.conf

        proxy_redirect          off;
        proxy_set_header        Host $host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For
$proxy_add_x_forwarded_for;
        client_max_body_size    10m;
        client_body_buffer_size 128k;
        proxy_connect_timeout   90;
        proxy_send_timeout      90;
        proxy_read_timeout      90;
        proxy_buffer_size       4k;
        proxy_buffers           4 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;

the others I've left alone as its something i didn't want to touch.

the nginx.conf on the server looks something like this.
(i don't use php but thats the stuff I didn't want to touch).


Someone suggested to have the application served/mounted at /, but i
don't know how to do that.

Any help is greatly appreciated.



Thanks


        server {
                listen <ip>:80;

                server_name site.com www.site.com;

                access_log /<path>/access.log combined;
                error_log /<path>/error.log error;

                root /home/<path>/public;

                index index.html index.htm index.php index.php5;
                include /home/<path>/nginx/site.com/*;

                # No mirrors - using strict redirects
                #if ($http_host != site.com) {
                rewrite ^(.*)$ http://site.com$1 permanent;
                #}

                autoindex on;

                passenger_enabled on;
                passenger_base_uri /;

                # Disallow access to config / VCS data
                location ~* /\.(ht|svn) {
                    deny all;
                }

                #site runs on Pylons
                location / {
                    include /<path to conf file>/proxy.conf;
                    proxy_pass  http://127.0.0.1:8080;
                    proxy_redirect  default;
                }

                # Statistics
                location /stats/ {
                    alias /home/<path>/html/;
                    auth_basic "Statistics Area";
                    auth_basic_user_file /home/<path>/html/.htpasswd;
                }

                location /doc/analog/ {
                    alias /usr/share/analog/;
                }

                # PHPMyAdmin
                rewrite ^/dh_phpmyadmin/([^/]*)/(.*)$ /dh_phpmyadmin/
$2;

                location /dh_phpmyadmin/ {
                    alias /dh/web/phpmyadmin/;
                }

                location ~ /dh_phpmyadmin/(.+)\.php {
                    alias /dh/web/phpmyadmin/;
                    fastcgi_param SERVER_PORT 80;
                    fastcgi_split_path_info ^(.+\.php)(/.*)$;
                    include /dh/nginx/etc/fastcgi_params;
                    set $relpath "index.php";
                    if ($uri ~ ^/dh_phpmyadmin/(.+)$) {
                        set $relpath $1;
                    }
                    fastcgi_param SCRIPT_FILENAME /dh/web/phpmyadmin/
$relpath;
                    fastcgi_pass unix:/home/<path>/.php.sock;
                }

                # PHP
                location ~* \.(php|php5|php4)($|/) {
                    fastcgi_param SERVER_PORT 80;
                    fastcgi_split_path_info ^(.+\.(?:php|php5|php4))
(/.*)$;
                    if (!-e $document_root$fastcgi_script_name) {
                        return 404;
                    }
                    include /dh/nginx/etc/fastcgi_params;
                    fastcgi_param SCRIPT_FILENAME $document_root
$fastcgi_script_name;
                    fastcgi_pass unix:/home/<path>/.php.sock;
                    #pragma php_launch <path>
                }

            }

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.

Reply via email to