Articles of 重写

htaccess:是否有可能与rewritecond问如果请求已经redirect?

我有一个redirect循环,它可以通过问rewritecond来解决,如果这是自用户请求第一次,或者它已经跳。 在.htaccess里面知道吗? 提前致谢。 解: RewriteCond%{ENV:REDIRECT_STATUS}!= 200 做了诡计!

Nginx重写规则子文件夹404错误

我不知道如何设置我的index.php文件与Nginx的重写规则,它会像下面的例子一样工作。 如果我访问的url,它给了我404错误没有findinstad回声'你好'。 url: http://www.example.com/directory/sub-directory/ /子目录/从给定的URL实际上不是真正的目录里面/目录/。 如果我访问的URL,我得到了404错误 – 这是真的好,但/子目录/是友好的url(没有查询?参数=价值)。 /子目录/不是固定值(在这个例子下面),它可以是/子目录 – 新/ – 依赖。 那么,对于URL中的/ value / after / directory /中的任何值,如果我访问那种types的URL,怎么会不会得到404错误? / directory /中的Index.php $actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; $wanted = "sub-directory"; $tokens = explode('/', $actual_link); $result = $tokens[sizeof($tokens)-2]; // result is "sub-directory" if($wanted == $result) { echo "hello"; } Nginx的: location /directory { try_files $uri $uri/ /directory/$uri; […]

在与CMS中的HTML相同的子目录下文件

我有一个类似的链接的CMS安装 journal.org/archives/volume136/number10/37362-49383 我想把几个PDF文件放在与上面的HTML相同的目录中,这样就可以从中访问PDF journal.org/archives/volume136/number10/1.pdf journal.org/archives/volume136/number10/2.pdf 但是,在服务器中创build物理目录后,我无法访问 journal.org/archives/volume136/number10/37362-49383 它给出了错误 禁止您无权访问/存档/在此服务器上。 我既不想更改sef url的名称,以使其不匹配目录名称,也不更改目录的名称。 有没有更好的解决scheme在Apache级别?

Nginx作为IBM Websphere上游的反向代理

我有一个IBM WebSphere服务多个域: XXXX:8080 / APP1 XXXX:9090 / APP 2 …我需要configurationNginx作为反向代理来服务: app1.example.com app2.example.com 这是我的configuration,但它不工作: server { listen 443 ssl; server_name www.app1.example.com app1.example.com; ssl on; ssl_certificate example.com.crt; ssl_certificate_key example.com.key; ssl_trusted_certificate example.comCA.crt; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; ssl_prefer_server_ciphers on; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS; keepalive_timeout 70; location / { access_log app1-access.log; error_log app1-error.log; include /etc/nginx/mime.types; proxy_pass http://xxxx:8080/app1/; […]

Nginx的代理重写与条件为域

我处于一个相当未知的情况,但我相信可以使用nginx代理和URL重写function来完成。 我想要的是: 有一个网站有多个品牌,所以我们说我有3个域名。 因此,如果有人试图访问domain1.com,nginx会将徽标URL重写为logo1.png。同样适用于: Domain2.com> logo2.png Domain2.com> logo3.png 我知道有可能为同一个文件提供3个域名。 这是我所做的: #domain1.com nginx_conf server { listen 80 default_server; root /var/www/vhosts/domain1.com/httpdocs/; index index.php index.html index.htm; server_name domain.com domain1.com; location / { sub_filter '<img src="/images/logo.png' 'img src="/images/logo1.png'; try_files $uri $uri/ /index.php; } 如果我有三个独立的configuration,你认为这会起作用吗? 让我知道。 谢谢。 的Shahriar

删除编码值为nginx的path段

我有一个像下面的location块 location ^api/([^/]+)(/.+)$ { set $my_host $1; set $my_path $2; proxy_pass http://$myhost$my_path$is_args$args; } 对于大多数正常情况下,如/api/foo/bar?1234 。 但是,当我介绍特殊的URL编码值,南下。 当URI是/api/foo/bar[%7B%7D] , $my_path被解码,并作为/foo/bar[{}]传递给$my_host 。 这不是一个有效的url。 我试图通过使用条件来匹配$request_uri和$uri来解决NGINX的限制,但是结果要么是双重编码的,要么是未编码的。 location ~* ^api/([^/]+)(/.+)$ { set $my_host $1; if ( $request_uri ~* ^api/([^/]+)(/.+)$ ) { set $my_path $2; } proxy_pass http://$myhost$my_path$is_args$args; } 在上面的例子中, $my_path是/foo/bar[%257B%257D] 。 我也尝试使用第二个正则expression式的set misc模块中的set_unescape_uri 。 我怎样才能让NGINX以与客户端提供的格式相同的格式删除path组件?

Nginx重写 – 删除URL结尾的子string

我有一个错误的插件,最终生成/ mobile的URL。 我正在修复这个插件,但同时我想写一个Nginx的重写规则来redirect,如下所示: http://www.domain.com/article-slug/mobile 至 http://www.domain.com/article-slug/ 有人可以帮我想出重写规则吗? 我研究过,但找不到对我有用的东西。 谢谢你的时间。

Nginx的尾部斜杠redirect问题

我正在使用Nginx + Varnish运行一个Wordpress网站。 我得到如果我正在添加或删除configuration文件中的尾部斜杠页面不正确redirect错误。 请build议解决scheme删除或添加没有redirect问题的尾部斜杠。 目的是为了避免内容重复问题。 谢谢。 我的nginx conf文件: server { listen 8080; server_name xyz.de www.xyz.de; root /var/www/html/xyz.de; port_in_redirect off; index index.html index.htm index.php; access_log /var/log/nginx/xyz.de.access.log; access_log /var/log/nginx/xyz.de.apachestyle.access.log apachestandard; error_log /var/log/nginx/xyz.de.error.log; location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } location = /apple-touch-icon.png { access_log off; […]

Apache mod_rewrite把@ 2x的图像请求uri

对于严重的服务器崩溃问题,我试图匹配@ 2x视网膜风格图像的任何请求,并将其重写为与non @ 2x等效。 首先我想检查一下是这样一个请求: # NOTES: Check the file name to see if it matches the @2x pattern: RewriteCond %{REQUEST_FILENAME} ^(.*)(@2x\.\w+)$ [NC] 例如: media/catalog/product/cache/1/thumbnail/100x/9df78eadfvrtdfgdfg6e5fb8d27136e95/i/n/[email protected] 然后我需要拿出@ 2x并返回: 媒体/目录/产品/高速caching/ 1 /缩略图/ 100X / 9df78eadfvrtdfgdfg6e5fb8d27136e95 / I / N / insample-123_1.jpg 可能是PNG或JPEG或PNG或GIF等 我不是RegExp忍者。 我知道如何更换部件,但不能删除。 任何人都可以请协助? 我的服务器正在死于404的… 编辑:似乎是这样的: RewriteCond %{REQUEST_FILENAME} ^(.*)(@2x\.\w+)$ [NC] RewriteRule (.+)@2x\.(\w+)$ $1.$2 [R=302]

Squid3 URLrewrite – 无法configuration

我在Debian Wheezy上安装了Squid3-3.4.8。 它正在执行caching任务。 我只想将一个jpgurlreplace为本地服务器或外部的另一个url。 我已经尝试过像Volta , squidred , asqredir这样的解决scheme。 对于沃尔我卡在: root@S:~/Volta/volta-0.3.0# make Package lua5.2 was not found in the pkg-config search path. Perhaps you should add the directory containing `lua5.2.pc' to the PKG_CONFIG_PATH environment variable No package 'lua5.2' found cc -O2 -L/usr/lib -I/usr/include -c -o accept_loop.o accept_loop.c In file included from accept_loop.c:31:0: volta.h:77:17: fatal error: […]