redireccionar - .htaccess, redirección no existente excepto algunas reescrituras de URL
redireccionar http a https htaccess (1)
Necesita hacer la reescritura de todo o nada (por ejemplo, RewriteRule ^(.*)$ / [L,QSA]
) después de todas sus otras reglas más específicas. Todas las reglas se aplican en el orden en que aparecen, por lo que esto significa que su primera regla simplemente siempre se aplica, y luego se detiene el motor de reescritura.
Cambie el orden e intente de nuevo:
# Rewrite existing files sample RewriteRule ^contact/$ /pages/contact.htm [L]
RewriteEngine on
RewriteRule ^/?$ index.html [L]
RewriteRule ^about/$ about.html [L]
RewriteRule ^services/$ services.html [L]
RewriteRule ^application/$ application.html [L]
RewriteRule ^contact/$ contact.html [L]
RewriteRule ^privacy/$ privacy.html [L]
--- my .htaccess shows --
# Redirect non-existing files or folders to index
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ / [L,QSA]
</IfModule>
También esta regla:
RewriteRule ^/$ index.html [L]
Nunca se aplicará porque las barras diagonales principales se eliminan del URI antes de aplicarles reglas, por lo que ^/$
nunca coincidirá, en su lugar, quiere ^$
^/?$
o ^/?$
.
Tengo una página web donde si un usuario escribiera archivos o carpetas que no existen http://wwww.somewebsite.com/nonexistingfolder o http://www.somewebsite.com/nonexistingfile.html , simplemente lo reenviará a www .somewebsite.com. A continuación, me gustaría crear una página web desde www.somewebsite.com/about.html a www.somewebsite.com/about ya que, en mi opinión, la versión más corta es mejor. Usando .htaccess
pensé que podría usar RewriteCond
para non-existings y RewriteRule
para la url fácil de usar como la página web. Soy terrible en .htaccess Solo conozco los conceptos básicos, investigué incluso las preguntas que ya se habían formulado pero no estoy seguro de cómo escribir esta regla de excepción.
¿Cómo puedo agregar un código en .htaccess
para poder tener todos los archivos / carpetas no existentes, excepto la URL de la página web que especifiqué? . Este a continuación simplemente redirigirá todos los no existentes a index.html y cuando lo haga www.somewebsite.com/about (de /about.html) simplemente va a index.html. ¿Alguna ayuda?
--- my .htaccess shows --
# Redirect non-existing files or folders to index
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ / [L,QSA]
</IfModule>
# Rewrite existing files sample RewriteRule ^contact/$ /pages/contact.htm [L]
RewriteEngine on
RewriteRule ^/$ index.html [L]
RewriteRule ^about/$ about.html [L]
RewriteRule ^services/$ services.html [L]
RewriteRule ^application/$ application.html [L]
RewriteRule ^contact/$ contact.html [L]
RewriteRule ^privacy/$ privacy.html [L]