¿Cuál es la diferencia entre php pseudoestático y plantillas de php, y cómo hacer que php sea pseudoestático?
Las plantillas php solo se usan para que los programas php muestren datos. Las plantillas php pueden estar en formato html, pero cuando abres la página, todavía están en formato php.
Método PHP 1 para implementar páginas pseudoestáticas:
Utilice el siguiente código durante la inicialización del programa:
$ Php2Html_FileUrl = $_SERVER["REQUEST_URI"];
$Php2Html_ UrlString = str_replace("/","",strrchr($Php2Html_FileUrl,"/"));
$Php2Html_UrlQueryStrList = explotar("@", $Php2Html_UrlString);
foreach($Php2Html_UrlQueryStrList as $Php2Html_UrlQueryStr)
{
$Php2Html_TmpArray = explotar("|", $ Php2Html_UrlQueryStr);
$_GET[$Php2Html_TmpArray[0]] = $Php2Html_TmpArray[1];
}
echo 'Falsa estática: variable $_GET < br />';
print_r($_GET);>
Entonces la variable $_GET se llamará en php como de costumbre.
Uso de conexión:
****.php/param1|1234@param2|4321
Igual que ****.php?param1=1234 ?m2=4321.
Método 2 de página pseudoestática PHP: enlace estático mediante reescritura de URL
Sabemos que los motores de búsqueda son muy amigables con las páginas estáticas, por lo que muchos sitios web generan páginas estáticas y otros medios facilitan que los rastreadores rastreen el contenido de su propio sitio web. Pero a veces algunas aplicaciones no son adecuadas para todos los enlaces estáticos, como foros / sistemas de barras de publicaciones con cambios de datos muy grandes. En este momento, podemos lograr enlaces pseudoestáticos reescribiendo la URL, es decir, los enlaces estáticos se utilizan externamente. el sitio web, pero aún permanecen internamente. Utilice la forma URL de las páginas dinámicas. Por ejemplo, un enlace como este: /abc.php?action=a&id=1, podemos reescribirlo en el formato /abc/a/1.html. Este es uno de los elementos más importantes en la optimización de motores de búsqueda. Tiene el beneficio adicional de permitir que la página tenga un enlace permanente. Incluso si el enlace interno del sistema del sitio web cambia en el futuro, el enlace externo original puede garantizarse. cambiando adecuadamente las reglas de reescritura. La URL siempre es válida.
A continuación se presentan dos métodos simples para implementar la reescritura de URL en Apache + PHP. El primero es adecuado para usuarios con permisos de configuración del servidor y el segundo es adecuado para usuarios que alquilan espacio. experiencia de aprendizaje reciente.
1. Para los usuarios con permisos de configuración del servidor, se recomienda utilizar el módulo mod_rewrite de Apache. Se supone que el módulo mod_rewrite ha sido instalado. Abra el archivo de configuración de Apache, busque la sección de host correspondiente y agregue el siguiente código:
RewriteEngine On RewriteRule ^/abc/([a-z]+)/([0-9]+).html$ /abc.php?action=$1&id=$2
Luego ejecute el servicio httpd reload en el shell para permitir que Apache recargue la configuración.
Ahora, podemos escribir el enlace en la página PHP como abc/a/1.html y Apache lo reescribirá como abc.php?action=a&id=1 al analizar la URL y devolverá la página correcta. Usando expresiones regulares, podemos lograr casi cualquier forma de enlace que queramos. El módulo mod_rewrite es muy poderoso. Esta es solo una aplicación simple.
2. Para los usuarios que alquilan espacio, generalmente no hay forma de modificar la configuración de Apache. Aquí hay una solución alternativa: cuando desea acceder a la página PHP pasando parámetros, normalmente. se obtiene a través de la variable global automática $_GET. Por ejemplo, el enlace anterior se puede obtener en la página a través de $_GET['action'] y $_GET ['id'] sin reescribir la URL. Ahora, es necesario utilizar el archivo url_rewrite.php en cada página, el código es el siguiente:
$filename = basename($_SERVER['SCRIPT_NAME']
); if (strtolower($ nombre de archivo) == "abc .php"){
if (!empty($_GET[id])){
$id = intval($_GET [id]);
$acción = intval($_GET[acción]);
}
else {
$ navegación. = $_SERVER["REQUEST_URI"];
$script = $_SERVER["SCRIPT_NAME"]
$nav = ereg_replace("^$script","",urldecode( $nav));
$vars = explotar("/", $nav
$acción = intval($vars[1]); >$id = intval ($vars[2]);
}
}
}
De esta manera, $acción y se obtienen $id. El enlace de la página se puede escribir como abc.php/a/1 para acceder a la página correspondiente.
Cabe señalar que la eficiencia de PHP para implementar este método de página pseudoestática es menor que la del primer método. El primer método se implementa en el proceso de análisis de URL del servidor WEB, y aquí en PHP. El segundo método implementado durante el análisis de la página es sólo una solución alternativa y un último recurso. Modificar el formulario del enlace es muy inconveniente e inflexible.