habilitar - PHP/Apache: Reescribe las reglas con.htaccess
mod_rewrite apache centos (3)
Tengo un pequeño dilema con mod_rewrite.
¿Cómo escribo una regla que decidirá lo siguiente?
Si navego / en / page / page quiero reescribir esto para:
index.php? language = en & page = / page
PERO si navego solo / página quiero reescribir esto para:
index.php? page = / page
es posible?
Editar:
/ page es solo un nombre de página dinámico al azar, podría ser lo que sea .
Necesito una regla que compruebe como / se == una cadena, y no más de 2 caracteres> / page -> index.php? Lang = se & page = / page y si examina la página / página notará que / page == más de 2 caracteres y volver a escribir en index.php? page = / page
Edit2: encontré el anser a mi pregunta:
RewriteEngine On RewriteBase / ## Check if its not a filename or dirname RewriteCond %{REQUEST_FILENAME} !-l RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d ## Rewrite rules RewriteRule ^(.{2})/(.*)$ index.php?lang=$1&page=$2 [L] RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]
¡Lo tengo que trabajar solo! Aquí están las reglas si alguien más necesita hacer lo mismo:
RewriteEngine On RewriteBase / ## Check if its not a filename or dirname RewriteCond %{REQUEST_FILENAME} !-l RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d ## Rewrite rules RewriteRule ^(.{2})/(.*)$ index.php?lang=$1&page=$2 [L] RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]
prueba esto:
RewriteRule ^(.*)/(.*)(/.*)$ index.php?language=$1&$2=$3 [L]
RewriteRule ^page$ index.php?page=/page/page [L]
RewriteRule ^page$ index.php?language=en&page=/page/page [L]
RewriteRule ^page/ index.php?language=en&page=/page [L]