ngx-http-rewrite-module

在nginX中,如何重写没有扩展名的文件?
ngx-http-rewrite-module

在nginX中,如何重写没有扩展名的文件?

我在 Wordpress 上传文件夹 (/wp-content/uploads/2024/) 中有很多没有扩展名(没有 .png、.jpg、.etc)的图像文件。这些文件确实出现在文章中并且被使用,但由于缺少扩展名,它们不会被缓存,我想它们也会对 SEO 造成一些影响。此外,由于没有扩展名,浏览器往往会下载它们,而不是显示它们。 我的问题是,如何重写这些 URL 以便 site.com/wp-content/uploads/2024/image 能够像 /wp-content/uploads/2024/image.jpg 一样在浏览器中加载?更糟糕的是,有些...

Admin

如何使用 Nginx 重写检查 URL 参数并重定向
ngx-http-rewrite-module

如何使用 Nginx 重写检查 URL 参数并重定向

我想检查 nginx 中的 url 中是否存在参数,然后重写。 我怎样才能做到这一点? 例如如果 url 是http://website.com/search/node/item123/loc=33然后重定向到http://website.com/search/node/item123 我的代码在这里但不起作用! 如果 ($arg_loc != "") { 重写 ^(/search/.*)$ $1? 永久; } 更新 : 我想重定向任何以以下结尾的 URLloc=数字到父级网址!阿拉伯语和英语字符 例如: http://website.com/searc...

Admin

Nginx:使用正则表达式检查参数格式并进行重写
ngx-http-rewrite-module

Nginx:使用正则表达式检查参数格式并进行重写

我有一个像这样的 API 端点/my/api/PARAM1/abcd?arg1=val1&arg2=val2,并使用重定向代理到其他地方的 fastcgi 服务器(使用上游)。 基本上我有当前的配置: location ~ "^/my/api/(?<api_name>[A-Z0-9]+)?$" { rewrite ^ "/cgi-bin/apiserver?api_name=${api_name}&p1=${arg_arg1}&p2=${arg_arg2}" last; } location /cgi-bin/a...

Admin

Nginx 相当于 apache mod_rewrite 规则
ngx-http-rewrite-module

Nginx 相当于 apache mod_rewrite 规则

我的脚本托管在 centos 7 apache 服务器上,使用以下 htaccess: <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteR...

Admin

nginx 中重写规则的替换字符串中可以有正则表达式吗
ngx-http-rewrite-module

nginx 中重写规则的替换字符串中可以有正则表达式吗

我需要一个非常特殊的重写规则,但我找不到方法来实现它。 我需要将 uri 映射到正则表达式,再映射到用正则表达式构建的替换字符串。 例如我有一个/pdv/plan-AGE44-ABC.pdf可以映射到以下 uri: /files/AGE44/plan-ABC.pdf /files/AGE44/plan-ABC(version-1).pdf /files/AGE44/plan-ABC(version-2).pdf /files/AGE44/plan-ABC(version-3).pdf 所以(version-1)替换字符串中的部分是可选的,所以我考虑在这里...

Admin

停止 Nginx 重写,破坏位置块后面的所有页面
ngx-http-rewrite-module

停止 Nginx 重写,破坏位置块后面的所有页面

我必须重写 nginx.conf 中包含特定查询参数的 URL; 举个例子:- location /brands/exampleA { if ($arg_cat = "9") { return 301 /page/brand-filter; } if ($arg_cat = "38") { return 301 /page/category/brand-filter; } } 这些 URL 重写随后将重写example.com/brands/exampleA/?cat=9为example...

Admin

nginx 正则表达式重写不适用于 php 脚本
ngx-http-rewrite-module

nginx 正则表达式重写不适用于 php 脚本

我正在尝试阻止 WordPress 安装中几个文件夹中的 PHP 脚本执行,但是 Nginx 让我很难受。 location = /wp/wp-includes/category.php { deny all; } 我能够使用精确匹配来阻止单个脚本,但当我使用正则表达式时它不起作用。 location ~* /wp/wp-includes/.*\.php$ { deny all; } 我不知道我做错了什么? 编辑 在上述规则之后,我有以下规则: location / { error_page 418 = @cachemiss; ...

Admin

在 nginx 映射中使用带有特殊字符的 URL
ngx-http-rewrite-module

在 nginx 映射中使用带有特殊字符的 URL

使用 nginx 和映射时,可以使用映射文件重写多个 URL。问题是当 URL 包含特殊字符时。我一直在绞尽脑汁试图解决这个问题,希望这个问题/解决方案可以让其他人免于白发苍苍。 让我们设定一下场景。 运行标准 nginx 的 Linux 服务器 (Debian/Ubuntu)。指向此服务器的 DNS 可解析为服务器配置。包含传入和传出 URL 的重复条目的 Map(可解析) 地图设置包含以下内容: map $host$request_uri $rewrite_uri { include /<path to file filename>;...

Admin

从 nginx 重写规则中排除 google doc 嵌入 iframe?
ngx-http-rewrite-module

从 nginx 重写规则中排除 google doc 嵌入 iframe?

我希望有人能帮助我,因为我对服务器相关内容的了解非常有限。 我有一个 WordPress 网站,我想将/wp-content/uploads/目录访问权限限制为仅限登录用户。为此,我在 Nginx 服务器上使用了以下链接中指定的解决方法: https://wordpress.stackexchange.com/questions/37144/how-to-protect-uploads-if-user-is-not-logged-in 这个解决方案确实有效。但是,还有一个问题。 我在某些页面上通过 Google 文档嵌入嵌入了一些 PDF。Google 文档...

Admin

WordPress 日期档案在 Nginx 中不起作用
ngx-http-rewrite-module

WordPress 日期档案在 Nginx 中不起作用

WordPress 安装在子目录中: domain.com/folder WordPress 永久链接设置: domain.com/folder/%postname% 引用WordPress Nginx 支持文章,我在 nginx 配置中添加了以下内容: location /folder { try_files $uri $uri/ /folder/index.php?$args; } 页面、帖子、作者、类别和标签的永久链接非常有用。 日期档案的永久链接不起作用。 例如,当我将鼠标悬停在 2021 年 8 月上时,它会显示以下链接: domai...

Admin

Apache .htaccess 到 NGINX RewriteRules 端口
ngx-http-rewrite-module

Apache .htaccess 到 NGINX RewriteRules 端口

所以,我实际上正在尝试移植RewriteRules 来自阿帕奇到NGINX但似乎我无法完全移植。 实际上,我的服务器上确实有一个在服务器上的https://example.com域和/var/www/html/路径上运行的站点。我试图做的是在var/www/html/subdirectory路径和域下的子目录中安装自定义脚本https://example.com/subdirectory。 问题是重写规则不起作用,甚至出现 404 未找到错误。请帮助我。 我的 Apache.htaccess文件: RewriteRule ^page/?$ pages/p...

Admin

重写 uri 以删除 nginx 中的 www
ngx-http-rewrite-module

重写 uri 以删除 nginx 中的 www

我有未知数量的域名与类似 的模式匹配www.abc123.example.com。其中“abc”后面的数字是未知的。我想也许我可以使用正则表达式的重写规则~*(www\.abc\w+) 就像是: server_name ~*(www\.abc\w+) rewrite ~*(www\.abc\w+)\.example\.com (abc\w+)\.example\.com; 不幸的是,这似乎不起作用,uri 也没有改变。我的其他想法可能是尝试设置/重写 $uri 值,但我也没有成功。 我不确定我是否无法匹配 uri 值或无法重写 uri(或两者兼而有之)。 ...

Admin

NGINX 1.13.8 重写 URL 不起作用
ngx-http-rewrite-module

NGINX 1.13.8 重写 URL 不起作用

我有以下带重写的位置: location ~ ^/payment/gateway/v2/order/complete/(.*)$ { proxy_pass http://api.test.com:8080/payment/gateway/v2/order/complete?order_id=$1; } 然后我尝试了这个: location /payment/gateway/v2/order/complete { rewrite ^/payment/gateway/v2/order/complete/(.+) /payment/gatewa...

Admin

将图像请求重写为 Nginx 中的子目录结构
ngx-http-rewrite-module

将图像请求重写为 Nginx 中的子目录结构

给定这样的位置: location ~ ^/user-content/img/) { root /srv/foo/bar/uploads/; autoindex off; access_log off; expires 30d; } 是否可以使用 nginx 来请求 /user-content/img/3AF1D3A69CE92ADAED8B0D25C2411595C7C798A5.png 实际上是从目录中提供服务,/srv/foo/bar/uploads/3A/F1/D3这需要从请求文件名中取出前两个字符并将它们用作第一个子文件夹,然后...

Admin

需要有关 nginx url 重写的帮助
ngx-http-rewrite-module

需要有关 nginx url 重写的帮助

我无法重写以下 URL: https://domain-name.com/2020/10/title_of_article.html?id=1 进入: https://域名.com/0/1 年份是不必要的,因此被删除/截断/忽略 由于月份没有必要,因此将其删除/截断/忽略 标题也是不必要的,因此被删除/截断/忽略 在域名后立即插入一个额外的“/0” “id=1”变成“/1” 发送到应用服务器。 有人能帮我提供一个 nginx 可以使用的正则表达式(或其他东西)吗?我应该使用 http 重写模块,还是可以使用普通设置来完成?我被难住了。请帮忙。谢谢! ...

Admin