2011-10-25 12 views
10

He actualizado mi sitio dos veces desde el año pasado y tengo diferentes nombres de página desde mi primera versión. ¿Es posible crear reglas dinámicas en apache?Reglas dinámicas de .htaccess

por ejemplo:

I utilizar para tener estas páginas (ejemplo):

  • /abc123 (versión 1)
  • /abc_123 (versión 2)
  • /abc123/(versión 3 - actual)

Quiero crear una regla que redirija abc123 a abc_123 si existe y abc_123 a abc-123 si es e xists. Gracias

+0

No hay nada en la respuesta que haya aceptado sobre "si existe". Entonces, aparentemente eso no fue parte de tu pregunta, ¿por qué lo preguntaste? –

Respuesta

16

¿Por qué no esto?

RewriteRule ^([a-z]+)([0-9]+)$ /$1-$2 [NC,L] 
RewriteRule ^([a-z]+)_([0-9]+)$ /$1-$2 [NC,L] 

EDIT:

o puede utilizar 1 regla:

RewriteRule ^([a-z]+)(_?)([0-9]+)/?$ /$1-$3 [NC,L] 

esta manera es fácil de insertar caracteres en el (_?) en lugar de crear la misma regla una y otra vez con una poca varianza

+0

Gracias funcionó –

-6

encontré this example:

RewriteEngine on 
# 
# If the requested URL exists as a file with a .php extension 
RewriteCond %{DOCUMENT_ROOT}/$1.php -f 
# internally rewrite requested .html URL to .php file 
RewriteRule ^(([^/]+/)*[^.]+)\.html$ /$1.php [NC,L] 

Usted tendrá que leer sobre las distintas opciones y editarla para hacer que funcione para su situación.

+6

Lo intenté pero no funciona –

Cuestiones relacionadas