es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Regla de reescritura de Htaccess redirigida pero el servidor no la procesa.

Quiero que mi servidor lea esta página example.com/myapp.php?p=11 contra la URL example.com/myapp/my-technical-effort.

He intentado con esta regla .htaccess:

RewriteEngine On 
RewriteBase / 
RewriteCond %{REQUEST_URI} ^/myapp\.php$ 
RewriteCond %{QUERY_STRING} ^p=11 
RewriteRule ^(.*)$ example.com/myapp/my-technical-effort [QSD,R=301,L]

Redirige a la nueva URL, pero el servidor dice “página no encontrada” en este servidor con un error 404.

¿Puede ayudarme a reescribir la regla para que el servidor pueda servir la página example.com/myapp.php?p=11 contra la URL example.com/myapp/my-technical-effort?

Mi actual .htaccess es el siguiente:

<IfModule mod_headers.c>
  Header always append X-Frame-Options ALLOWALL
</IfModule>
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTPS} !=on
  RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
  Header always set Content-Security-Policy "upgrade-insecure-requests;"
</IfModule>

¿Alguien puede ayudarme por favor?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para servir la página example.com/myapp.php?p=11 contra la URL example.com/myapp/my-technical-effort, se puede usar la siguiente regla en .htaccess:

    RewriteEngine On
    RewriteBase /
    RewriteRule ^myapp/my-technical-effort$ myapp.php?p=11 [L,QSA]
    

    Esta regla reescribirá la URL example.com/myapp/my-technical-effort a example.com/myapp.php?p=11 internamente sin cambiar la URL en la barra de direcciones del navegador. Las banderas [L,QSA] indican que la reescritura debe detenerse en esta regla y que se deben agregar cualquier parámetro de cadena de consulta a la nueva URL.

    Asegúrese de eliminar la regla .htaccess anterior que estaba causando el error 404. El resto del archivo .htaccess en su pregunta parece estar bien y no necesita ser cambiado para que funcione esta nueva regla.

Comments are closed.