Questions tagged «url-rewriting»

1
Nginx重写规则以删除路径节点
假设某个用户尝试使用以下网址访问我的网站上的给定图像: http://www.mywebsite.com/blog/image1.jpg?someParam=100 我需要一个重写规则,从路径中删除“博客”节点: http://www.mywebsite.com/image1.jpg?someParam=100

1
在回溯到index.php的位置内设置一个catch-all
我正在努力使用nginx配置。我有一个server块我想要所有请求去index.php?tags=$uri,除非$uri存在(像index.php?a=b或/?a=b)。 我希望: try_files $uri index.php?tags=$uri; 但是,不,那太简单了。这不起作用/?a=b,显然没有找到,所以它指向index.php?tags=/ 也许如果我明确包含一个index,这是合理的: index index.php; 不。没有骰子。完全相同的结果。 也没什么用$args,$request_uri或组合。也不是它: try_files $request_uri/index.php $request_uri index.php?tags=$request_uri; // now I'm just guessing Apache总是知道我的意思。为什么不nginx?我想要这些重定向(没有redirect或if): / => /index.php /index.php => /index.php /index.php?a=b => /index.php?a=b /?a=b => /index.php?a=b /foo => /index.php?tags=foo (or /index.php?tags=/foo) /foo/bar => /index.php?tags=foo/bar (or /index.php?tags=/foo/bar) /foo?bar=yes => /index.php?tags=/foo%3Fbar%3Dyes 我希望在重定向时对查询字符串进行编码,但不是路径,但实际上并不是那么重要。 (我也不明白$ uri和$ request_uri之间的实际区别。他们似乎在同一半时间做同样的事情。但那是另一天。) …

0
apache重写到不同的域子文件夹而不更改浏览器URL中的地址
实际上我们有2个站点。 站点1:托管在[ http://mysite1.com] ,使用Apache服务器 Site2:mysite.com的移动版本托管在[ http://mobilesites.com/mysite1mobile] ,使用Apache服务器。 现在, 如果请求来自桌面浏览器到mysite1.com,它应该获取[的内容 http://mysite1.com] ,和 如果请求来自移动浏览器到mysite1.com,它应该获取[的内容 http://mobliesites.com/mysite1mobile] ,而不更改浏览器URL中的地址栏 我们在mysite1.com的apache / conf / httpd.conf中尝试过这样的: <IfModule proxy_module> ProxyRequests On ProxyVia On <Proxy *> Order allow,deny Allow from all </Proxy> RewriteEngine On RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|ipad|iphone|ipod|opera mobile|palmos|webos" [NC] RewriteRule ^(.*)$ http://mobilesites.com/mysite1mobile/$1 [P] ProxyPassReverse / http://mobilesites.com/mysite1mobile/ </IfModule> 当我们从移动浏览器访问mysite1时,能够转发请求但不能在站点内映射主题和页面的链接。 请帮忙...
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.