Articles of 重写

Magento 1.7 REST API nginx重写规则。 api.php没有执行

所有如果我打开链接http://example.com/api/rest/products ,它只是下载api.php,而不是脚本执行。 它可能是什么? 有我的nginx网站的magento规则 location /api { rewrite ^/api/rest /api.php?type=rest break; } location / { index index.html index.php; try_files $uri $uri/ @handler; expires 30d; } location ~ (/(app/|includes/|lib/|/pkginfo/|var/|report/config.xml)|/\.svn/|/.hta.+) { deny all; } location ^~ /(app|includes|lib|media/downloadable|pkginfo|report/config.xml|var)/ { internal; } location /var/export/ { internal; } location /. { return 404; } location @handler { rewrite / /index.php; […]

是否有可能在Nginx重写POST请求到GET?

我想用JS获得POSTvariables,但它只能捕获GETvariables。 我的想法是重写一个POST请求到一个GET。 可能吗? 该文件是静态HTML,我不喜欢使用PHP或一些脚本语言来做到这一点。

Nginx的重写规则为AngularJS和html5mode启用

到目前为止,我正在用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 […]

Joomla与Nginx重写SEFurl

我正在使用Ubuntu 12.04与NGINX和PHP5-FPM。 我刚刚把我的Joomla网站从Apache迁移到NGINX。 但是我认为重写规则运作不好。 所有的海基会链接重写到主页,但在url栏链接似乎是正确的。 例如,如果我点击example.com/a/b.html它看起来像转到url栏中的链接,但homapage正在加载。 谢谢你的帮助。 /etc/nginx/sites-available/example.com文件 server { listen 80; server_name example.com; #server_name_in_redirect off; #access_log /var/log/nginx/localhost.access_log main; #error_log /var/log/nginx/localhost.error_log info; root /var/www/example.com/public_html/; index index.php index.html index.htm default.html default.htm; # Support Clean (aka Search Engine Friendly) URLs location / { try_files $uri $uri/ /index.php?q=$request_uri; } # deny running scripts inside writable directories location ~* […]

nginx 301下载端口由stream浪者转发

我有一个vagrant虚拟机在端口80上运行nginx。我的主机将端口8080转发到vagrant vm的端口80。 我需要重写一个带有301redirect的url,这个工作正常,但是我通过隧道(8080)访问nginx的端口被丢弃,redirect失败。 http://server.com:8080/blog/two -becomes- http://server.com/blog.php?article=two – 它应该是 – http://server.com:8080/blog.php?article=two 例: rewrite ^/blog/(.*)$ /blog.php?article=$1 last; 谢谢!

在nginx上重写plex媒体服务器url?

我在nginx中重写url的知识非常有限。 我有一个plex媒体服务器运行在nginx后面,我可以访问仪表板与http://domain.com/web/index.html与这些configuration我在github上find: upstream plex-upstream { server plex-server.example.com:32400; } server { listen 80; server_name domain.com location / { if ($http_x_plex_device_name = '') { rewrite ^/$ http://$http_host/web/index.html; } proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_redirect off; proxy_set_header Host $http_host; proxy_pass http://plex-upstream; } } 我想要的是删除/web/index.html所以当我去http: //domain.com,PMS仪表板将加载。 我已经尝试了一些class轮重写规则,但都失败了。 谢谢。

Nginx的重写和redirect?

我有街机游戏网站。 我想将我的url转换为sef。 category : domain.com/index.php?category=mario-games > domain.com/category/mario-games game details : domain.com/index.php?game=mario-game > domain.com/mario-game.html featured : domain.com/featured.php > domain.com/featured pages : domain.com/page.php?id=contact > domain.com/page/contact search到互联网后,我成功实现了重写规则。 但我的旧url仍然可以访问。 我怎么能redirect和重写旧的url到新的? server { listen 80; server_name domain.com; return 301 http://www.domain.com$request_uri; } server { listen 80; server_name www.domain.com; root /usr/share/nginx/domain; index index.php index.html index.htm; #charset koi8-r; #access_log /var/log/nginx/log/host.access.log main; location / […]

Nginx和Tomcat – 指向子目录的子域名

我有我的应用程序example.com的以下configuration: Nginx作为反向代理将stream量从端口80redirect到: Tomcat 7,我部署我的JSF应用程序,端口8080 我的xhtml文件大部分在ROOT文件夹中:/ usr / local / tomcat7 / webapps / ROOT 但是我在一个单独的文件夹“forum”中有一些文件:/ usr / local / tomcat7 / webapps / ROOT / forum 这是我的默认nginxconfiguration: server { server_name www.example.com; return 301 $scheme://example.com$request_uri; } server { listen 80; server_name example.com.br; root /usr/local/tomcat7/webapps/ROOT; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; […]

如何在nginx中隐藏文件扩展名

来自Apache的背景,在过去我使用一对重写规则隐藏.html文件扩展名: RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /.+\.html\ HTTP RewriteRule ^(.+)\.html$ http://%{HTTP_HOST}/$1 [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME}.html -f RewriteRule ^.+$ %{REQUEST_FILENAME}.html [L] nginx的重写function是不同的,但是一个可能的解决scheme在于此 ,nginx维基build议,如果可能的话避免ifs是最好的解决scheme,并讨论使用( try_files )来代替。 我想知道是否有人有最好的方式来实现这样的事情: try_files $uri $uri.html =404; 在某些情况下工作,你会得到大规模的redirect问题等有没有办法避免ifs在这种情况下?

使用Flask + Nginx根据dynamicURL提供静态文件?

在Flask中,如果你把一个文件放在一个名为static/的目录中,那么任何forms为http://localhost/static/foo.jpg URL都会从static/foo.jpg提供这个文件。 这也可以通过一个nginxconfiguration来完成: location /static { alias /var/www/mywebsite/static; } 不过,我想做dynamicURL重写。 如果有人请求URL http://localhost/username/foo.jpg ,我想告诉nginx从任意的URL(比如/var/www/assets/11235/1bcd5.jpg获取静态文件。 我希望用户看到一个漂亮的url,我希望位置对用户是透明的。 是否有捷径可寻? 理想情况下,我可以做些事情,让nginx提供文件。 但是,如果Flask需要提供服务,那也没关系(这不像我的项目有任何用户呢!) 我在这里错过了什么?