Foros del Web » Administración de Sistemas » Apache »

Problemas con mod write en Apache

Estas en el tema de Problemas con mod write en Apache en el foro de Apache en Foros del Web. He subido el archivo .htacces y archivo adjunto para crear urls amigables tipo teclado-virtual.php en vez php?id=14 Las urls se ven amigables pero me aparecen ...
  #1 (permalink)  
Antiguo 10/06/2012, 18:30
 
Fecha de Ingreso: marzo-2004
Ubicación: Madrid (España)
Mensajes: 837
Antigüedad: 20 años, 8 meses
Puntos: 9
Problemas con mod write en Apache

He subido el archivo .htacces y archivo adjunto para crear urls amigables tipo teclado-virtual.php en vez php?id=14
Las urls se ven amigables pero me aparecen una serie de lineas en las que dice

Deprecated: Function ereg_replace() is deprecated in /home/artic/public_html/seourls.php on line 23

Deprecated: Function ereg_replace() is deprecated in /home/artic/public_html/seourls.php on line 23



Os paso el código de .htaccess
Código Apache:
Ver original
  1. RewriteEngine On
  2.  
  3. RewriteRule ^([^/]*)/([^/]*)/$ article.php?id=$1&title=$2 [L]
  4. RewriteRule ^profile/([^/]*)/([^/]*)/$ profile.php?a=$1&name=$2 [L]
  5. RewriteRule ^category/([^/]*)/([^/]*)/$ category.php?id=$1&name=$2 [L]
  6. RewriteRule ^page/([^/]*)/([^/]*)/$ page.php?p=$1&title=$2 [L]
  7.  
  8. RewriteRule ^start/([^/]*)/([^/]*)/$ index.php?page=$1&ipp=$2 [L]
  9.  
  10. RewriteRule ^category/([^/]*)/([^/]*)/start/([^/]*)/([^/]*)/$ category.php?id=$1&title=$2&page=$3&ipp=$4 [L]
  11.  
  12. RewriteCond %{REQUEST_FILENAME} !-f
  13. RewriteCond %{REQUEST_FILENAME} !-d
  14. RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
  15. RewriteRule (.*)$ %{REQUEST_URI}/ [R=301,L]

Y el código php del archivo seourls.php
Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4.  
  5.  
  6.  
  7. GENERATE SEO URLS */
  8. function generate_seo_link($input,$replace = '-',$remove_words = true,$words_array = array())
  9. {
  10.     //make it lowercase, remove punctuation, remove multiple/leading/ending spaces
  11.     $return = trim(ereg_replace(' +',' ',preg_replace('/[^a-zA-Z0-9\s]/','',strtolower($input))));
  12.  
  13.     //remove words, if not helpful to seo
  14.     //i like my defaults list in remove_words(), so I wont pass that array
  15.     if($remove_words) { $return = remove_words($return,$replace,$words_array); }
  16.  
  17.     //convert the spaces to whatever the user wants
  18.     //usually a dash or underscore..
  19.     //...then return the value.
  20.     return str_replace(' ',$replace,$return);
  21. }
  22.  
  23. /* takes an input, scrubs unnecessary words */
  24. function remove_words($input,$replace,$words_array = array(),$unique_words = true)
  25. {
  26.     //separate all words based on spaces
  27.     $input_array = explode(' ',$input);
  28.  
  29.     //create the return array
  30.     $return = array();
  31.  
  32.     //loops through words, remove bad words, keep good ones
  33.     foreach($input_array as $word)
  34.     {
  35.         //if it's a word we should add...
  36.         if(!in_array($word,$words_array) && ($unique_words ? !in_array($word,$return) : true))
  37.         {
  38.             $return[] = $word;
  39.         }
  40.     }
  41.  
  42.     //return good words separated by dashes
  43.     return implode($replace,$return);
  44. }
  45.  
  46. ?>

¿Que creeis que ocurre para que aparezca las líneas de código?
Perdón por el desconocimiento
  #2 (permalink)  
Antiguo 11/06/2012, 01:11
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Problemas con mod write en Apache

Es una alerta de php que te indica no usar la función ereg_replace(), en su lugar debés usar

http://www.php.net/manual/en/function.preg-replace.php

no se vincula de modo alguno a Apache, o modRewrite

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 17/06/2012, 09:40
 
Fecha de Ingreso: marzo-2004
Ubicación: Madrid (España)
Mensajes: 837
Antigüedad: 20 años, 8 meses
Puntos: 9
Respuesta: Problemas con mod write en Apache

Bueno al final lo he podido solucionar esta funcion no es correcta en PHP 5.3, por lo que el servicio de hosting ha movido mi web a un servidor con una version más antigua para que el script funcione correctamente.

Etiquetas: htacces, htaccess, mod, php, rewrite, url, write
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:57.