Articles of 重写

Nginx的重写规则问题,以消除URL的结束

我需要从www.foo.com/bar/rab/video.mp4删除.mp4 所以我留下了www.foo.com/bar/rab/video 到目前为止,我有 location ~* ^/bar/rab/(.*)$ { rewrite ^/bar/rab/(.*)$/$(.mp4) /$1/$2 break; proxy_pass https://foo.s3.amazonaws.com; } 不过我觉得我错了,谁能请解释和帮助我 🙂

使用IIS 7.5 URL重写,如何将所有的请求不是从一个特定的子域redirect到一个特定的页面?

我想使用IIS 7.5中的URL重写模块将所有请求不是从特定的子域(x.domain.com)redirect到特定的文件夹/文件。 例如,这些应该按原样工作: x.domain.com x.domain.com/asdf 而像这样的东西: y.domain.com y.domain.com/asdf domain.com domain.com/asdf 应该redirect到这样一个特定的页面(确切的URL,不依赖于使用的子域): domain.com/a 不幸的是,我不能正确地configuration规则,因为它正确匹配,大部分时间,当它只是导致redirect循环。 (我知道我应该把我现在设置的错误规则,但他们甚至不会一直导致redirect循环。) 在IIS中设置与www.domain.com和domain.com相匹配的另一个Web站点是一个简单的解决scheme,但是我宁愿有一个网站来处理这些问题并redirect。 什么是正确的设置来获取此行为(使用用户界面或直接添加到Web.config)。 谢谢!

重写https的规则,仅用于使用htaccesslogin

我使用的是Apache,我在我的索引页(index.php)有一个login名和密码字段。 validation是用login.php页面进行的,然后如果我是authaurize,我可以到达下一页home.php。 我想要确保用httpsvalidation,但仅用于validation,所以我需要设置一个URL重写。 RewriteCond %{HTTPS} !on RewriteCond %{REQUEST_URI} ^/login.php RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,QSA,L] 我已经考虑过这个解决scheme,但它不起作用。 我可以在index.php上input我的凭据,然后使用httpsredirect到login.php,但我仍然需要完成login名和密码字段。 你有什么想法吗?

Nginx的具体重写规则查询

我正在尝试为ngnix创build一个重写规则,将所有以/node (即domain.com/node/something/somthingelse )开头的请求redirect到domain.com:3000/something/somthingelse 。 任何人都可以告诉我如何做到这一点? 非常感谢

重写条件目标通过:清漆1.1

我有一个使用清漆的Drupal网站。 我正尝试redirect以/node开头的URL,当他们通过Varnish查看站点时。 我已经在.htaccess文件中尝试了以下,但它有500个错误。 RewriteCond%{HTTP:Via} = 1.1 varnish RewriteRule ^ node / [R = 301,NC,L] 我一直没能find任何使用谷歌有关如何定位标题的“通过”部分。 干杯,保罗

nginx重写竹发票的规则

我只是从Apache的networking服务器迁移到Nginx,我不能让.htaccess转换正常工作。 我试图使用的应用程序是竹发票[ http://bambooinvoice.org/ ],它带有一个默认的.htaccess,看起来像这样: RewriteEngine on RewriteRule ^$ /index.php [L] RewriteCond $1 !^(index\.php|img|css|js|robots\.txt|favicon\.ico|update\.php|install\.php) RewriteRule ^(.*)$ /index.php/$1 [L] 任何人都可以build议如何将这套重写规则翻译成Nginx格式? 我没有任何运气..

.htaccess重写问题

下面是我的共享主机的网站的.htaccess文件 – 我试图发送所有的请求到index.php参数'q'我想分析数据等…除非它是一个现有的文件或目录。 所以我的问题,如果我试图浏览到一个实际的目录,希望得到一个未经授权的通知(选项-Indexes)它将我发送到我的index.php,我也注意到print_r($_GET)它给了我这个: Array ( [q] => 403.shtml ) AddDefaultCharset UTF-8 Options -Indexes +FollowSymLinks <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^$ RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteCond %{HTTPS}s ^on(s)| RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] </IfModule> 帮助将不胜感激,如果可能:)

使用Nginx限制对MVC应用程序的一个控制器的访问

我有一个MVC应用程序,其中一个控制器只能从几个ips访问(这个控制器是一个oauth令牌callback陷阱 – 对于google / fb api令牌)。 我的conf看起来像这样: geo $oauth { default 0; 87.240.156.0/24 1; 87.240.131.0/24 1; } server { listen 80; server_name some.server.name.tld default_server; root /home/user/path; index index.php; location /oauth { deny all; if ($oauth) { rewrite ^(.*)$ /index.php last; } } location / { if ($request_filename !~ "\.(phtml|html|htm|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|xlsx)$") { rewrite ^(.*)$ /index.php last; break; […]

子域重写规则在Apache(从Nginx转换)

我的一个朋友正在搬家,我负责整理他的重写规则。 我已经完成了大部分工作,除了这个尴尬的子域重写规则: server { listen 80; server_name ~^(?<subdomain>.+)\.foo\.gg$; location / { if (!-e $request_filename) { rewrite ^/([-a-zA-Z0-9]+)-$ /stats.php?code=$1&sub=$subdomain last; rewrite ^/([-a-zA-Z0-9]+)$ /redirect.php?code=$1&sub=$subdomain last; break; } } } 我试过这个(从另一个serverfault线程,这不适合我: RewriteCond %{HTTP_HOST} ^([^.]+)\.foo\.gg$ RewriteRule ^([A-Za-z0-9-]+)$ redirect.php?code=$1&sub=$2 [L] 帮帮我?

htaccess重写子域并请求uri

在我的htaccess中遇到了重写条件的问题。 我需要redirect来自子域的请求。 但是,每种语言都有三个子域:en.foo.com,es.foo.com,www.foo.com。 如果他们有请求,他们必须坚持相应的子域名。 例如: 要求: fdsfds.foo.com/test 期望: www.foo.com/test 目前: www.foo.com .htaccess文件: # BEGIN .net to .com redirect RewriteEngine On RewriteCond %{HTTP_HOST} foo.net$ [NC] RewriteRule ^(.*)$ http://www.foo.com/$1 [R=301,L] # END .net to .com redirect # BEGIN force www on non-www requests RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$ RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] # END force www on non-www requests […]