Articles of 重写

nginx – 没有redirect的代理传递

我在AngularJS有一个网站。 网站使用hashbang模式,我目前有prerendering的情况。 我的网站有这样的URL: http://www.watchawearin.com/#!/item/511 : http://www.watchawearin.com/api/ !/item/511,我有一个后端的URL: http://www.watchawearin.com/api/ : http://www.watchawearin.com/api/ 。 现在,当Facebook访问上面的URL,它变成: http://www.watchawearin.com/?_escaped_fragment_=/item/511 ://www.watchawearin.com/?_escaped_fragment_=/item/511这是好的,我有一个像这样的nginx的configuration: if ($prerender = 1) { rewrite .* /api/prerender break; proxy_pass $scheme://www.watchawearin.com; } Facebook提取预渲染的页面,但被redirect到: http://www.watchawearin.com/api/prerender/?_escaped_fragment_=%2Fitem%2F511 ://www.watchawearin.com/api/prerender/?_escaped_fragment_ http://www.watchawearin.com/api/prerender/?_escaped_fragment_=%2Fitem%2F511 2Fitem%2F511。 我可以实现服务的分段的页面,但没有redirect?

使用IIS URL重写从一个子域redirect到另一个

我正在尝试设置IIS,将stream量从https://sub.foo.comredirect到https://www.foo.com ,但不会将任何stream量redirect到https://sub.foo.com/bar 。 常规的HTTPredirect模块不允许这种types的控制( https://sub.foo.com/bar将被redirect),所以我试图使用URL重写模块,但尽pipe有很多谷歌search,我不能find正确的设置。 目前我的规则看起来像这样 (我没有代表embedded图像伤心),但没有工作。 我已经尝试在服务器级别和“到”和“从”网站设置它,但仍然没有运气。 我错过了什么?

通过NGINX阻止URL中的唯一散列

我需要通过nginx来阻止URL内的哈希。 需要被阻止的URL是 http://mp3string.com/video/Kill-My-DeMonZ—Mz-Sunday-Luv-%2B-Jeny-Cox-(-JopRec-)[email protected]%EF%BB%BF/mbqQMZXYL08` 现在,如果您看到URL,那么需要通过nginx来阻止唯一的散列“mbqQMZXYL08”。 我已经尝试通过添加到服务器块来阻止URL,但它不工作。 RewriteRule ^video/Kill-My-DeMonZ—Mz-Sunday-Luv-%2B-Jeny-Cox-(-JopRec-)[email protected]%EF%BB%BF/mbqQMZXYL08 – [F] 在我的网站上,每当有用户打开一首歌曲时,它都有一个独特的散列,因为它是一个mp3网站,而非网站上的歌曲,我有时会让DMCA删除这个url。 我在我的服务器块中使用的redirect: rewrite ^/mp3/([0-9]+)/([^/]*)/([^/]*)(/?)+$ /?do=song&source=$1&title=$2&id=$3 last; rewrite ^/video/([^/]*)/([^/]*)(/?)+$ /?do=video&id=$2&title=$1 last; rewrite ^/search.html(/?)+$ /?do=search&$args last; rewrite ^/embed/([0-9]+)/([^/]*)/([^/]*)(/?)+$ /embed.php?source=$1&title=$2&id=$3&$args last; rewrite ^/logout(/?)+$ /?do=logout last; rewrite ^/settings(/?)+$ /?do=user last; rewrite ^/settings(/?)+$ /?do=user last; rewrite ^/playlist/edit/([0-9]+)(/?)+$ /?do=edit_playlist&id=$1 last; rewrite ^/playlist/([0-9]+)(/?)+$ /?do=playlist&id=$1 last; rewrite ^/playlists(/?)+$ /?do=playlists last; rewrite ^/playlists/([0-9]+)(/?)+$ /?do=playlists&p=$1 last; […]

IISredirect/重写到特定子目录的主机

作为开发人员,我想将某些(AJAX)请求redirect到DEV服务器,而不是我的本地Web服务器。 例如,redirect“AbcService”子目录的请求: http://localhost/AbcService/json?queryString http://dev.example.com/AbcService/json?queryString 我不想redirect本地主机的其他请求,例如: http://localhost/XyzService/… 我以为我可以做到这一点与IIS UrlRewrite 2.0扩展,但到目前为止,我还没有能够拿出一个有效的规则。 首先,我不确定是否需要重写或redirect操作。 我可以使redirect动作工作,但没有数据返回。 可能是身份validation问题。 这是规则: URL: * Conditions: {HTTP_HOST} matches "localhost" {URL} matches "*/AbcService/* Action: Redirect (307) URL: http://dev.example.com/AbcService/{C:2} 其中{C:2}是来自{URL}条件的“/ AbcService /”后面的path。 有一件事我不明白为什么从一个redirect切换到重写操作导致一个404,即使我有完全相同的条件。

匹配…用nginx重写规则中的字符

我有一个问题,有人添加了一个链接到我们的网站 – 但它被切断。 我在日志文件中看到: /info-cry%E2%80%A6 看到我知道那是什么意思,我试图在我的nginxconfiguration中为它创build一个重写规则。 我已经尝试了下面两个: rewrite ^/info-cry%E2%80%A6 https://example.com/info-cryptex-16gb-usb-drive-587.html permanent; rewrite ^/info-cry… https://example.com/info-cryptex-16gb-usb-drive-587.html permanent; ..但它永远不会匹配(只显示我们的自定义404页面)。 有什么办法可以做到这一点? 我真的想让它工作 – 因为我们得到了很多点击到破损的url

带参数的NGINX URL重写为无参数的URL

我的服务器上有一个NGINX背景。 我不明白为什么我的规则不起作用。 如何redirect或重写它,以便我可以打开具有相同内容的URL,例如: http://www.example.com/my_dir/value/ 如果我有这个url,例如: http://www.example.com/my_dir/filename.php?parameter=value 我尝试了一些解决scheme,但他们没有工作: Case #1: location /my_dir/ { if ($args ~* "filename.php/?parameter=value1") { rewrite ^ http://www.example.com/my_dir/$arg_param1? last; } } Case #2: rewrite ^/my_dir/(.*)$ /filename.php?parameter=$1 last; Case #3: location /my_dir { try_files $uri $uri/ my_dir/filename.php?$args; } Case #4: location /my_dir/ { rewrite ^/my_dir/filename.php?parameter=(-+([a-zA-Z0-9_-]+))?\$ /filename.php?parameter=$1 last; } 那可能吗? 我必须configuration我的PHP文件才能正常工作吗? 有任何想法吗? 谢谢!

Haproxyredirect到不同的子域

我正在尝试使用haproxy将一个urlexample.com/blogredirect到blog.example.com。 我已经应用了以下规则: acl blog_path path_beg -i /blog/ redirect location http://blog.example.com/ code 301 if blog_path redirect工作正常,但有一个我不能解决的小故障。 如果我在浏览器中inputexample.com/blog/ ,它将被成功redirect到blog.example.com,但是如果我inputexample.com/blog 而不是/最后它会被redirect到blog.example.com/blog不会发生,对我来说很奇怪。 任何想法如何解决这个问题。

Apache将一些urlredirect到主页

我试图实现一个简单的重写,但看起来像我做错了什么。 我想要做的是,我有一个urlblog.example.com/articles/这给了我404,和其他url是blog.example.com/articles/abc,blog.example.com/articles/xyz等,这工作得很好,所以我想blog.example.com/articles/向我展示的主页是blog.example.com而不是404,但我不想要任何其他的url,其中有像/ articles / *受该规则的影响。 这是我迄今为止所尝试过的 RewriteRule ^/articles$ /index.php [R=302] 这不起作用 我也尝试了redirect Redirect "/articles" "http://blog.example.com/" 我工作,但它会更改浏览器中的url,也会影响以/ articles开头的所有其他url 任何帮助表示赞赏

Nginx的Try_Files创build本地内容caching?

我试图在本地或从一个分享(本地刷新过夜)图片。 我的nginx站点服务于2个或更多的服务器,以保持所有内容在每个服务器同步,我将它存储在一个Azure文件共享,这是位置根(/ mnt / wp)。 这工作得很好(与Nginxcaching一起),但是图像的等待时间非常缓慢,我认为这是一个延迟问题client-server-azure。 所以为了让事情更快,我想在本地提供图像(/ var / www /),如果可用的话,然后回落到azure(/ mnt / wp) 到目前为止,我有这个位置块,但日志显示redirect循环.. 我错过了什么吗? location /wp-content/ { add_header X-uploads $uri; try_files @contentCache/$uri $uri; } location @contentCache{ root /var/www; }

Nginx Url重写:从URL中删除文件夹

我试图重写像下面的url: https://example.com/products/xperia-z5/ to–> https://example.com/xperia-z5/ 但我想在同一时间的urlhttps://example.com/products/是可访问的,没有任何修改,因为它的产品目录。 为了组织的原因,我把我的文件在/ products / file1,file2等。也许我应该使用“别名”,而不是“重写”? 也许我必须改变try_files指令中的某些内容,或者@ extensionless-php位置有问题,我完全困惑。 请指教。 谢谢。 以下是我的server.confconfiguration server { server_name 192.168.10.1; listen 80; root /home/webmaster/example.com/html_public; charset UTF-8; # replace .php extension with trailing slash location @extensionless-php { rewrite ^(.*)/$ $1.php last; rewrite ^(.*[^/])$ $1/ permanent; } location / { try_files $uri $uri/ @extensionless-php; } error_page 404 /404.php; #pass […]