也许还有另一个nginx的redirect问题…找不到答案,所以: 如何将http://domain.comredirect到http://www.domain.com,但是不要在给定包含此服务器定义的cloudfoundry nginxconfiguration的情况下重写任何子域http://*.domain.com: server { listen 80; server_name _; server_name_in_redirect off; } 我试过这个configuration server { server_name domain.com rewrite ^(.*) http://www.domain.com$1 permanent; } server { listen 80; server_name _; server_name_in_redirect off; } 但是获得无限的redirect。
这里是我的nginx.conf文件的相关行。 location / { try_files $uri $uri/ /index.php @rewrite; } location @rewrite { rewrite ^/customer/(.*)$ /customersDisplay.php?id=$1; rewrite ^/attc2/(.*)$ /usr/www/vault/$1; rewrite ^/xport/(.*)$ /usr/www/files/innoMatrix/xport/$1; rewrite ^/forms/(.*)$ /usr/www/files/innoMatrix/forms/$1; rewrite ^/grafx/(.*)$ /usr/www/files/innoMatrix/grafx/$1; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param DATABASE innoMatrix; include fastcgi_params; } 任何人都可以立即明白为什么客户不会被交给fpm socket吗? 它redirect正确,但下载文件,而不是在PHP解释。 我使用几乎相同的configuration为我的基于phalcon的应用程序,它的作品冠军。
我已经读了十几个rewite问题。 大多数问题都是.php,但是我有简单的.html文件,所以关于=> about.html。但是我不能得到nginx这样做: 接受有或没有“/”的url 将domain.com/about和domain.com/about/redirect到domain.com/about.html 添加尾部的斜杠到URL,所以如果我写的domain.com/about写它的domain.com/about/ 我已经尝试用这个代码rewrite ^/([a-zA-Z0-9]+)$ /$1.html; 但它给了我404错误以“/”结尾的URL。 也试过这个rewrite ^([a-zA-Z0-9]+)/?$ $1.html同样的错误。 有人build议我应该使用尝试try_files ? 我试过这也给出了一个500错误: location / { rewrite ^(.*)$ /%1 redirect; rewrite ^/([^\.]+)$ /$1.html break; } 我试图从这里build议转换apache到nginx(winginx.com)没有成功。 此代码不起作用。 我正在尝试redirect并添加尾部斜线: if (!-e $request_filename){ rewrite ^/(.*)/$ /$1 redirect; } if (!-e $request_filename){ rewrite ^/(.*[^/])$ /$1/ redirect; } 任何build议都会让我开心。
我有一个简单的Ubuntu 10.10,Nginx,Mercurial,PHP和MySQL堆栈。 当前文件结构: /opt/nginx/html – document root for nginx (where my website files are) /opt/nginx/html/.hg – repository data /usr/share/mercurial/ – where the templates/static folder is 我正在运行在localhost:8000托pipe的hg -serve。 在这一点之后,我并不清楚水银是如何与资源相联系的。 我有我想要的入口点下面的Nginxconfiguration: location /mercurial/ { auth_basic "Authentication"; auth_basic_user_file /opt/nginx/html/.hg/file.password; proxy_pass http://localhost:8000/; } 这可以正常工作,除了在validation之后完全加载Mercurial实例。 我得到了我期望看到的页面,但/静态引用都被打破,我点击的链接(如其中一个变更集)也被中断(找不到它们,或者带我回到破碎的主页面)。 它试图find这些文件在我的IP地址/静态/ …这是不正确的。 mercurial ui目录位于我的文档根目录/ opt / nginx / html之外。 where / static的path是/ usr / […]
有一些不同的url参数,我希望redirect到一个子域。 mydomain.com/blog/title-of-the-post – > blog.mydomain.com/title-of-the-post 和 mydomain-com / taxonomy / term / id – > mydomain.com/id 所以逻辑几乎是一个重写,但要抓住和使用一些url。 可以这样做吗?
我想在Nginxconfiguration文件中使用这个规则: location @rewriteapp { # rewrite all to app.php rewrite ^(.*)$ /app.php/$1 last; } (这个规则用于Symfony框架)。 我用puphpet网站来生成vagrant文件,我修改了default.pp来改变Nginx Vhost的configuration我添加类似的东西来创build这个重写规则: nginx::resource::location { "${server_name}-rewrite": location => '@rewriteapp', www_root => $www_root, proxy => undef, rewrite => '^(.*)$ /app.php/$1 last;' } 但是我得到以下错误: Invalid parameter rewrite at /tmp/vagrant-puppet-1/manifests/default.pp:267 on node packer-virtualbox.vagrantup.com 有没有办法将重写规则添加到Nginx的虚拟主机configuration与Puppet?
在nginx中 ,我用一个参数redirect一个URL: www.example.com/watch?v=12345678 – > www.example.com?vid=12345678 所以我写了下面的configuration: location /watch { if ($args ~* v=(.*)) { set $args vid=$1; rewrite ^/watch?(.*)$ / redirect; } } 一切都按预期工作。 但是在这里我有几个疑问: 如果条件(我试过但失败了)是否有可能实现它, 如何重写而不使用设置(请参阅: http : //lethain.com/rewriting-parameterized-urls-with-nginx/ ) 是SEO的好方法吗? 如果不是,那么如何实现呢? 上述在nginxredirect的任何其他更好的select
这是我的CodeIgniter控制器类代码。 class View extends MY_Controller { function index($number) { ….. } ……. } 通过浏览器,我可以使用这个URL访问View类的索引方法 http://localhost/view/index/12 所以,我的问题是 是否有任何有效的方式来重写URL,例如,到这个URL http://localhost/view/12 我的networking服务器是Nginx。
到目前为止,我正在用nginx构buildAngularJS应用程序。 我有中间的铁轨,我带着rewrite ^/(?!assets) / last; 重写规则(重写所有期望以资产开始的东西),到目前为止它正在工作 – 使用rails: server { listen 80; server_name ies.local; root /home/jk/Projects/ies12/webapp/public; # <— be sure to point to 'public'! passenger_enabled on; rails_env development; rewrite ^/(?!assets) / last; } 但到了今天,我离开了铁轨,我需要延长这一规则.. 如果我做了类似的事情 server { listen 80; server_name webapp.local; root /home/jk/Projects/webapp; rewrite_log on; rewrite ^/(?!angular) / last; rewrite ^/(?!angular-ui) / last; } 有webapp […]
我看到一个nginx重写规则,它从URL中获取查询参数,并将相同的查询参数应用到重写的URL中。 我可以理解,在某些情况下,在重写规则中捕获查询参数可能是有益的,但在我看来,在这种情况下这样做毫无意义。 有关的重写规则如下: rewrite ^/users/(\d+)\.html(?:\?(.*))?$ /users/profile.php?id=$1&$2 last; 这是毫无意义的,因为我怀疑? 我相信下面的重写规则会有同样的效果: rewrite ^/users/(\d+)\.html$ /users/profile.php?id=$1 last;