AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / 问题

Perguntas[rewrite](server)

Martin Hope
Rebecca Hubbard
Asked: 2023-01-19 06:17:41 +0800 CST

RegEx para redirecionamentos 301 para alterar o caminho E remover uma string

  • 5

Estou procurando uma regra de redirecionamento RegEX para redirecionar os locais do arquivo de imagem para um novo local, ao mesmo tempo em que remove parte do URL original, que é o nome da imagem

URL ANTIGO:

/components/com_mijoshop/opencart/image/cache/catalog/ecom2/GM815-365x365.jpg

NOVA URL:

/wp-content/uploads/nc/catalog/ecom2/GM815.jpg

Portanto, preciso alterar o caminho do diretório E remover a parte '-365x365' do url.

Posso remover a parte do nome da imagem com o seguinte, mas não tenho certeza de como alterar também o caminho:

/(?'path'.*)-365x365.jpg  /[path].jpg
rewrite
  • 1 respostas
  • 31 Views
Martin Hope
Isaac Palacio
Asked: 2022-04-14 07:23:45 +0800 CST

Nginx Redict sem modificar o URL

  • 0

Quero fazer um redirecionamento de um domínio para outro, mas apenas de uma página.

Exemplo: https://domainA.com/site/page para https://domainB.com/site/page

No nginx eu coloquei:

location /site {
         rewrite ^/site/page https://domainB.com/site/page break;
}

e funciona, faz a redição, mas muda a url e quero que a url seja sempre https://domainA.com/site/page

Como posso fazer para que a url não mude?

obrigada!

rewrite nginx
  • 1 respostas
  • 39 Views
Martin Hope
halloleo
Asked: 2022-04-01 20:08:03 +0800 CST

No Apache, como desativar o DirectorySlash apenas para solicitações a um subdomínio específico?

  • 1

Servido pelo Apache, eu gostaria em um site meu de subdomínio (digamos sub.mydomain.com) que URLs sem barras à direita apontem diretamente (sem redirecionamento externo) para o arquivo de índice na pasta subjacente. As solicitações de subdomínio são redirecionadas internamente para uma subpasta. Todos os outros URLs devem funcionar da maneira normal do Apache com redirecionamento externo para a versão reduzida.

Todas as diretivas devem estar no meu arquivo .htaccess. Para que isso funcione, estou planejando fazer o seguinte:

  1. Desligar DirectorySlashpara solicitações desub.mydomain.com/...
  2. Reescreva os sub.mydomain.com/…pedidos para/sub/...
  3. Reescreva URLs de diretório sem barra /sub/...para buscar index.htmldentro do diretório subjacente

Eu tenho uma boa idéia de como fazer 2. e 3., mas como posso emitir DirectorySlash off apenas solicitações parasub.mydomain.com , mas não para www.mydomain.comou other.mydomain.com?

rewrite .htaccess mod-rewrite apache-2.4
  • 1 respostas
  • 52 Views
Martin Hope
Totoro
Asked: 2022-03-17 12:32:11 +0800 CST

Tentando fazer com que o Apache sirva webp em vez de png/jpg (da pasta /img do prestashop)

  • 1

Primeiro post aqui, espero ter feito bem.

Eu converti todos os png/jpg a partir da minha pasta public_html prestashop para webp e adicionei regras de reescrita ao .htaccess para que o webp fosse servido em vez de png/jpg.

Eu baseei minhas reescritas nas reescritas do prestashop já existentes. Onde eu tinha:
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]
Acabei fazendo:

RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.webp [L]
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.webp$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.webp [L]
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]

O que funciona: eu tenho um URL jpg servindo imagens webp, até agora tudo bem (eu sei que ainda preciso implementar

#RewriteCond %{HTTP_ACCEPT} image/webp
#RewriteCond %{DOCUMENT_ROOT}/$1.webp -f

e também tentar descobrir se devo sair [L]ou fazer [L,T=image/webp]ou fazer [T=image/webp,E=REQUEST_image], e é por isso que estou lendo documentos relacionados ao apache e rastreando a web sobre reescrever tópicos relacionados, o que é realmente enorme.

Ok, voltando ao tópico principal, vi que estava faltando uma reescrita webp para as imagens que o prestashop armazena na pasta public_html/img.

Então eu tentei o seguinte (e outras variantes):

RewriteRule ^/img/(.+)\.jpe?g$ /img/$1.webp [L]
RewriteRule ^/img/(.+)\.png$ /img/$1.webp [L]

^--- NÃO OK... ainda servindo imagens do tipo jpg/png do diretório img (verifique duas vezes o tipo MIME).

Observe que:

  1. Toda vez que eu alterava o .htaccess e tentava uma solução, eu limpava o cache do prestashop, por via das dúvidas (apesar de saber que o .htaccess estava sendo lido a cada solicitação).
  2. Existem imagens webp correspondentes a jpg/png na pasta img.
  3. perms do arquivo de imagem está correto na pasta img e, de fato, em todas as coisas em public_html
  4. Na pasta img do prestashop, existe outro .htaccess, que restringe o tipo de arquivos que podem ser servidos desta pasta, e eu já adicionei webp, caso alguém pergunte.

ATUALIZAÇÃO: Conforme solicitado pelo MrWhite, adicionando o .htaccess da pasta img

<IfModule mod_php5.c>
    php_flag engine off
</IfModule>

# Apache 2.2
<IfModule !mod_authz_core.c>
    Order deny,allow
    Deny from all
    <Files ~ "(?i)^.*\.(webp|jpg|jpeg|gif|png|bmp|tiff|svg|pdf|mov|mpeg|mp4|avi|mpg|wma|flv|webm|ico)$">
        Allow from all
    </Files>
</IfModule>

# Apache 2.4
<IfModule mod_authz_core.c>
    Require all denied
    <Files ~ "(?i)^.*\.(webp|jpg|jpeg|gif|png|bmp|tiff|svg|pdf|mov|mpeg|mp4|avi|mpg|wma|flv|webm|ico)$">
        Require all granted
    </Files>
</IfModule>

Por favor, vocês poderiam me ajudar aqui?

rewrite .htaccess extension mod-rewrite images
  • 1 respostas
  • 536 Views
Martin Hope
dinastar66
Asked: 2022-03-09 03:59:43 +0800 CST

proxy reverso nginx IP_adr/1881 para localhost: 1881 proxy_pass

  • 0

Eu li este post e tentei muitas coisas, mas tenho problemas com reescrever regex. aqui

Eu tenho muitos processos node.js como backends com portas sempre diferentes para acessar.

Com o proxy reverso Nginx no mesmo servidor, quero passar por exemplo: https://my-site/1881para http://127.0.0.1:1881proxy_pass.

Eu posso obter 1881 de, my-site/1881mas eu sempre tenho no final 127.0.0.1:1881/1881. Ou erro Nginx. Não sei exatamente como excluir /1881 com rewrite.

Que eu tentei:

location ~ ^/(?<port>\d\d\d\d)$ {            #Ok

        rewrite "^/[0-9]{4}(.*)$" $1 break;  #try and retry here
        proxy_pass http://127.0.0.1:$port;   #Ok
}

Obrigado pela ajuda, tenha um bom dia

rewrite port nginx regex
  • 1 respostas
  • 87 Views
Martin Hope
pok4
Asked: 2022-03-02 12:58:18 +0800 CST

reescrever regras do apache para o nginx

  • 0

Estou com um problema com isso... Estou usando hospedagem gratuita para dar uma demonstração para meus futuros compradores do meu próprio cms.

A hospedagem é hubuhost.com, eles estão suportando a última versão do php 8.1. O problema é que eles estão no nginx e não suportam minhas regras de htaccess do apache.

Minha configuração é:

<IfModule mod_negotiation.c>
#Important rules for our system
Options -Multiviews -Indexes +FollowSymLinks
</IfModule>

#app.php instead of index.php
<IfModule mod_dir.c>
DirectoryIndex core.php index.php index.html
</IfModule>

#If 404 - redirect to 404 page
ErrorDocument 404 /404/index.php

<IfModule mod_rewrite.c>
#ModRewrite ON
RewriteEngine on 

#News SEO Urls
RewriteRule  ^topic_(.+?)$ core.php?id=$1

#Router
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ core.php [QSA,L]
 
#remove end trailing slash from urls
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} /(.*)/$
RewriteRule ^ /%1 [R=301,L]
</IfModule>

#Block ENV access
<IfModule mod_version.c>
<Files "config.env">
   Order allow,deny
    Deny from all
</Files>
</IfModule>

Alguém pode converter isso para nginx?

Eu tento com algumas regras, mas sem sucesso. Não sei o que fazer... Imagem de demonstração do painel de administração: https://i.ibb.co/gwZStXN/image.png

rewrite .htaccess redirect nginx rules
  • 1 respostas
  • 404 Views
Martin Hope
user515576
Asked: 2022-03-02 12:50:11 +0800 CST

Entrada Nginx - caracteres de escape

  • 0

Eu tenho o seguinte conf de entrada que é exposto via nodePort 32100. Quando eu chamo (curl) a URL [1] que contém parênteses, recebo o erro HTTP 500. Mas quando chamo a URL [2] que não contém parênteses, a solicitação passa com sucesso por meio do controlador de ingresso NGINX (v0.35.0).

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/proxy-body-size: 0m
    name: test1-app-ingress
  namespace: test1
spec:
  rules:
  - host: ing1.example.com
    http:
      paths:
      - backend:
          serviceName: test1-app-1-ingress
          servicePort: 80
        path: /test1
  - host: ing2.example.com
    http:
      paths:
      - backend:
          serviceName: test1-app-2-ingress
          servicePort: 80
        path: /test1

[1]

curl  "http://ing1.example.com:32100/test1/test1.json/Streams(Type_4000000)" -X POST --data-binary @25kfile 
* About to connect() to ing1.example.com port 32100 (#0)
*   Trying 10.10.10.30...
* Connected to ing1.example.com (10.10.10.30) port 32100 (#0)
> POST /test1/test1.json/Streams(Type_4000000) HTTP/1.1
> User-Agent: curl/7.29.0
> Host: ing1.example.com:32100
> Accept: */*
> Content-Length: 25000
> Content-Type: application/x-www-form-urlencoded
> Expect: 100-continue
>
< HTTP/1.1 100 Continue
< HTTP/1.1 500 Internal Server Error
< Server: nginx
< Date: Tue, 01 Mar 2022 20:08:07 GMT

log do aplicativo:

10.113.4.0 - - [01/Mar/2022:20:08:07 +0000] "POST /test1/test1.json/Streams(Type_4000000) HTTP/1.0" 500 528 "-" "curl/7.29.0" 25283 0.004 [test1-test1-app-1-ingress-80] [] 10.113.4.157:80 528 0.003 500 4b3fd4d41fb8a2d26691bd2da78f24b

[2]

curl  "http://ing1.example.com:32100/test1/test1.json/StreamsType_4000000" -X POST --data-binary @25kfile 
* About to connect() to ing1.example.com port 32100 (#0)
*   Trying 10.10.10.30...
* Connected to ing1.example.com (10.10.10.30) port 32100 (#0)
> POST /test1/test1.json/StreamsType_4000000HTTP/1.1
> User-Agent: curl/7.29.0
> Host: ing1.example.com:32100
> Accept: */*
> Content-Length: 25000
> Content-Type: application/x-www-form-urlencoded
> Expect: 100-continue
>
< HTTP/1.1 100 Continue
< HTTP/1.1 200 OK
< Server: nginx
< Date: Tue, 01 Mar 2022 20:09:59 GMT

log do aplicativo:

172.28.120.65 - - [01/Mar/2022:20:09:59 +0000] "POST /test1/test1.json/StreamsType_4000000 HTTP/1.0" 200 0 "-" "curl/7.29.0" 25281 0.003 [test1-test1-app-1-ingress-80] [] 10.113.4.157:80 0 0.003 200 133bbb4f7149d31e75cf78158566efee

Isso é um problema no NGINX IC? devo escapar quaisquer caracteres na configuração de entrada, como o parêntese?

rewrite nginx kubernetes nginx-ingress
  • 1 respostas
  • 142 Views
Martin Hope
Christian
Asked: 2022-02-18 01:41:16 +0800 CST

nginx - Tentativa de redirecionar o caminho com variável falha internamente

  • 0

eu gostaria de redirecionar a solicitação para um arquivo de

/path/to/file/content?path=file.pdf

para

/new/path/to/file/file.pdf

sob o mesmo domínio.

Eu tentei regras de reescrita simples ou assim.

location ~ ^/path/to/file/content?path=(.*) {
   return 301 /new/path/to/file/$1;
}

Infelizmente, o nginx não entende a variável. O que estou fazendo errado? Alguém tem uma dica para mim, por favor? Infelizmente, eu não sei muito sobre reqex. Muito obrigado!

rewrite nginx
  • 1 respostas
  • 89 Views
Martin Hope
Adam Larsson
Asked: 2022-01-31 06:23:31 +0800 CST

Apache http para https SEM nenhum endereço?

  • 1

uma reescrita normal de http para https pode ser assim:

RewriteEngine On
# RewriteCond %{HTTP_HOST} !^example.com$
# RewriteRule /.* https://example.com/ [R]

mas este código especifica o site para "example.com"

Existe alguma maneira de fazer uma reescrita " global ", portanto, independentemente de alguém abrir example.com, broken.example.com ou mesmo example.Lom , ( desde que o DNS esteja apontando para o servidor ), basta colocar um https nele?

para servidores que possuem mais de um nome de domínio.

Seria ótimo poder usar o mesmo código em todos os lugares.

rewrite mod-rewrite rewritecond
  • 1 respostas
  • 42 Views
Martin Hope
TravelWhere
Asked: 2022-01-16 18:59:25 +0800 CST

Como redirecionar o usuário se acessar diretamente os arquivos de imagem pelo navegador? [nginx]

  • 0

Como redirecionar se um usuário tentar acessar diretamente os arquivos de imagem apenas no navegador? Quero manter a capacidade de incorporar imagens com <img src="...">. Como redirecionar de

https://img.example.com/c/600x1200_90_webp/img-master/img/2022/01/03/08/04/54/95259215_p0_master1200.jpg

para

https://example.com/detail?id=95259215

Este é o meu nginx conf

location ~ "^/c/600x1200_90_webp/img-master/img/\d+/\d+/\d+/\d+/\d+/\d+/(?<filename>.+\.(jpg|png|webp))$" {
    return 301 https://example.com/detail?id=$filename;
}

O código não está funcionando porque vai funcionar, https://example.com/detail?id=95259215_p0_master1200.jpgmas preciso cortar a string após o último dígito do nome do arquivo, portanto, neste caso, corte o _p0_master1200.jpg. Também não sei como fazer isso se o usuário estiver acessando pelo navegador.

rewrite redirect nginx
  • 1 respostas
  • 264 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve