.htaccess - rewritecond - rewriterule htaccess apache
.htaccess desafĂo de reescritura de URL (2)
Tengo problemas con la reescritura de URL.
Todas las cosas a continuación funcionan bien, pero necesito agregar una regla que elimine cadenas de consulta de URLS.
site.com/page?a=b se convertirá en site.com/page
¿Alguien puede ayudar? He leído algo sobre .htaccess, pero me parece terriblemente complejo. Además, necesitará saber en qué parte del archivo deben aparecer mis nuevas directivas.
Gracias.
# EE 404 page for missing pages ErrorDocument 404 /index.php/404/index # Simple 404 for missing files ErrorDocument 404 "File Not Found" # Rewriting will likely already be on, uncomment if it isnt RewriteEngine On RewriteBase / # Block access to "hidden" directories whose names begin with a period. This # includes directories used by version control systems such as Subversion or Git. RewriteRule "(^|/)/." - [F] # remove the www - Uncomment to activate # # RewriteCond %{HTTPS} !=on # RewriteCond %{HTTP_HOST} ^www/.(.+)$ [NC] # RewriteRule ^(.*)$ http://%1/$1 [R=301,L] # # Remove the trailing slash to paths without an extension # Uncomment to activate # # RewriteRule ^(.*)/$ /$1 [R=301,L] # # Remove index.php # Uses the "include method" # http://expressionengine.com/wiki/Remove_index.php_From_URLs/#Include_List_Method # RewriteCond %{QUERY_STRING} !^(ACT=.*)$ [NC] RewriteCond %{REQUEST_URI} !(/.[a-zA-Z0-9]{1,5})$ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^/(home|inc|publishers|sidebars|about|include-template|testing|advertisers|products|sitemap|style|ad-choices|social-bar|search|404||members|P[0-9]{2,8}) [NC] RewriteRule (.*) /index.php/$1 [L]
Esto eliminaría la cadena de consulta de la URL
RewriteRule ^(.*) /index.php/$1? [L] #remove query string
Espero eso ayude
Estoy un poco tarde para obtener una respuesta, pero como estaba buscando un comportamiento similar, pensé que debería compartirlo: también puede agregar un indicador a una regla de reescritura para eliminar la cadena de consulta; la bandera es [QSD]
y ayuda a evitar soluciones como la ?
al final ;-)
Aquí puedes encontrar más sobre esta bandera. Tengo ganas de señalar que "esta bandera está disponible en [Apache] versión 2.4.0 y posterior"