Pues eso, me gustaría saber como se puede hacer para poner:
http://foro.elhacker.net/php-b68.0/
En vez de
http://foro.elhacker.net/index.php?top=6.0
Por que está claro que no es una carpeta por subforo ni por post.
Un saludo y muchas gracias.
Pues, usando Pretty Urls. ;)
Saludos
Cita de: OHK en 4 Enero 2010, 21:35 PM
Pues, usando Pretty Urls. ;)
Saludos
No me refiero en SMF, sino en general.
Pones el "index" como documento para errores 404, entonces "spliteas" (separas) el REQUEST_URI con "/"
miweb.com/tv/sanyo
en
$url[0]="miweb"
$url[1]="tv"
$url[2]="sanyo"
De ahi vos analizas y mostras lo que tengas que mostrar ;-) (no te pongo codigo de ejemplo porque mucho tiempo no tengo y no tengo si quiera donde probarlo :-/)
Raul... pero una web pequeñita está bien, pero yo hablo de un proyecto, además que depende de muchas cosas si es Apache, I2S, o el propio navegador se puede cagar, gracias de todos modos^^
Cita de: dimitrix en 4 Enero 2010, 22:22 PM
Raul... pero una web pequeñita está bien, pero yo hablo de un proyecto, además que depende de muchas cosas si es Apache, I2S, o el propio navegador se puede cagar, gracias de todos modos^^
Se puede configurar en Apache o IIS, pero vos sos el que tenes que implementar todo el "procesamiento" :P ademas te sirve muchas cosas, como modulos por ej
estuve leyendo sobre .htaccess el problema es que si el server no es mio no puedo tocar ciertas cosas del PHP, pero enu... de todos modos, preguntaba por si alguien lo hizo y puede ayudar^^
Vale ya está, gracias igualmente^^
Bueno, voy hacer una aplicación tipo "Pretty URLs" para que se puede aplicar a todas las webs^^ con un simple "include" añadiendo unos archivos creados por mi (todo mu simple), lo digo por que si alguien lo quiere que me diga por privado y si el mod de PHP me deja lo publicaré aquí^^.
Cita de: dimitrix en 4 Enero 2010, 23:11 PM
Bueno, voy hacer una aplicación tipo "Pretty URLs" para que se puede aplicar a todas las webs^^ con un simple "include" añadiendo unos archivos creados por mi (todo mu simple), lo digo por que si alguien lo quiere que me diga por privado y si el mod de PHP me deja lo publicaré aquí^^.
publicalo y sera como aporte, de hecho yo tambien estoy trabajando en lo mismo, ya se como hacerlo bajo IIS 5.0 (y en adelante :P) cosa que en google no encontre mucho (ejem.....sin usar software externo)
Amm... tengo un bit del far... a lo que iba, yo no uso nada externo, más bien lo he programado en PHP con unas modificaciones en el .htaccess
Cita de: dimitrix en 4 Enero 2010, 23:35 PM
Amm... tengo un bit del far...
:huh:
Cita de: dimitrix en 4 Enero 2010, 23:35 PM
a lo que iba, yo no uso nada externo, más bien lo he programado en PHP con unas modificaciones en el .htaccess
Claro, yo lo que hice es una muestra en PHP para Urls amigables en IIS, que segun "google" se puede lograr con dlls externas, lo mio es puro ^^ :xD
Pero como los vas a liberar si es por librerías?
librerias? :huh:
Son solo propiedades y unas lineas en php :P
mod_rewrite (http://blog.unijimpe.net/como-utilizar-mod_rewrite/)
Eso era xD!
En iis poner el archivo para mostrar ante error 404 (despues lo explico) y ponerle de contenido esto:
<?php
$ruta = $_SERVER["QUERY_STRING"];
//echo "<b>Ruta completa:</b> ".$ruta."<br />\n";
if (!isset($ruta)) {
echo "Mostrar index común\n";
// include("indice.php");
} else {
$valores = explode("/", $ruta);
//echo "Modulo: ".$valores[3]."<br />\n";
unset($_GET);
$max = count($valores);
for ($i=4; $i < $max; $i++) {
$urlFinal .= ($i > 4) ? "&" : "";
if (strpos($valores[$i], '-') === false) {
//echo "Parametro ".($i-3).": ".$valores[$i]."<br />\n";
$_GET[$i-3] = $valores[$i];
} else {
$subParametros = explode("-", $valores[$i], 2);
//echo "Parametro ".$subParametros[0]." (".($i-3)."): ".$subParametros[1]."<br />\n";
$_GET[$subParametros[0]] = $subParametros[1];
eval("$".$subParametros[0]."='".$subparametros[1]."';");
}
}
if (file_exists($valores[3].".php"))
include($valores[3].".php");
else
die ("No se encontro el modulo ".$valores[3]." (a.k.a 404)"); // Cambiarlo por un documento 404
}
?>
Es lo que hize, se puede mejorar y se debe modificar para ciertas cosas, pero a alguno le va a server ;-D
NOTA: lo estoy arreglando, y le quiero poner (asi como el mod_rewrite) la posibilidad de aceptar expresiones regulares ;)
muy facil.. usa la carpeta donde tienes el portal y crea este archivo .htaccess despues pones este codigo:
RewriteEngine on
Rewriterule ^articulo/(.+)/(.+) articulo.php?id =$1&title=$2
Con estas dos líneas indica que se reescriba la siguiente regla: Cuando se solicite esta url: articulo/(.+)/(.+) se mostrará el contenido de la página: articulo.php?id =$1&title=$2. Es decir, la variable $1 vendrá en el primer paréntesis, mientras la variable $2 vendrá en el segundo paréntesis.
Por ejemplo, cuando uno se dirije a la página articulo/933/esta-es-una-url-amigable, el servidor lo procesa como si se estuvieran enviando las variables la página articulo.php?id=933&title= esta-es-una-url-amigable.
y asi podes crear las url amigables que quieras...
saludos xD
RewriteCond %{REQUEST_URI} !/upload/.*
RewriteRule (\w+)/(\w+)? index.php?action=$1.$2 [L]
Mod_rewrite
busca sobre .htaccess para cambiar el tipo de url en tu web
siempre y cuando dispongas del modulo mod_rewrite
Aix... creo que lo hice un poco diferente :-X
No se si está mejor o peor, pero funciona genial y ya es... ya os lo pondré cuando lo encuentre...