una redireccionar redireccion quitar pagina otro otra instantanea index dominio con cambiar boton automaticamente apache .htaccess magento url-rewriting

apache - quitar - redireccionar una pagina web a otro dominio



Eliminar.html de las URL con una redirección (8)

Tenemos un sitio web, desafortunadamente todas las URL tienen el sufijo .html , es una instalación de Magento, Magento le permite cambiar esto en el CMS, pero de nuevo, desafortunadamente todas estas URL con el sufijo .html tienen una buena clasificación en Google. Necesitamos redirigir a no .html .

Por lo tanto, considere la siguiente situación, estamos reconstruyendo este sitio desde cero, por lo que tenemos las mismas URL en el nuevo sitio, pero sin el sufijo .html.

  • Ahora es: www.example.de/cool-shoes.html
  • Será: www.example.de/cool-shoes

Así que www.example.de/cool-shoes.html ya no existirá, y he intentado redirigir el .htaccess sin suerte.

Lo he intentado hasta ahora

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}/ /.*/.html/ HTTP/ RewriteRule (.*)index/.html$ /$1 [R=301,L]

y:

RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}/.html -f RewriteRule ^(.*)$ $1.html

pero parece que no funciona ... ¿Alguna idea?


Siga los pasos y podrá eliminar .html de la url sin modificar el archivo .htaccess.


De acuerdo, después de algunas investigaciones, y al no lograr esto con una regla de reescritura, funcionó la siguiente línea de código:

redirectMatch 301 ^(.*)/.html $1

Esto es bastante útil para eliminar cualquier extensión de URL y evitar enlaces rotos, con suerte ayuda a alguien en el futuro ...

¡aclamaciones!


Intente introducir su archivo .htaccess Redirigir permanente www.mysite.de/cool-shoes.html www.misitio.es/cool-shoes Esto puede ser útil para usted



Intente agregar lo siguiente al archivo .htaccess en el directorio raíz de su sitio, redirija las URL con la extensión .html y elimínelo.

Options +FollowSymLinks -MultiViews DirectorySlash Off RewriteEngine On RewriteCond %{SCRIPT_FILENAME}/ -d RewriteCond %{SCRIPT_FILENAME}.html !-f RewriteRule [^/]$ %{REQUEST_URI}/ [R=301,L] RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteRule ^(.+)/.html$ /$1 [R=301,L] RewriteCond %{SCRIPT_FILENAME}.html -f RewriteRule [^/]$ %{REQUEST_URI}.html [QSA,L]


Aquí está la solución que funcionó para mí.

RewriteCond %{THE_REQUEST} /.html [NC] RewriteRule ^(.*)/.html$ /$1 [R=301,L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME}/.html -f RewriteRule ^(.*)$ $1.html [L]


Esto debería funcionar:

RewriteEngine On RewriteRule ^(/w+)/.html$ /$1 [R=301,L]


Esto es para las URL que terminan en .html /product/raspberrypi.html ---> / product / raspberrypi / (/product/raspberrypi/index.php). Index.php está oculto. Me tomó un tiempo resolver esto. LOL ...

RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} /.html$ RewriteRule ^(.*)/.html$ $1 [R=301,L] RewriteRule ^index/.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]

Debe usar ''REQUEST_URI'' y agregarlo antes de las reglas de redireccionamiento del índice, ya que la aplicación podría anularlo. Es importante saber que su URI no es un nombre de archivo o directorio que estamos tratando de redirigir, ya que todos los nombres de los archivos tienen index.php en las carpetas raíz (Wordpress).