mvc htaccess ejemplo amigables amigable php mod-rewrite url-rewriting url-routing

htaccess - url amigables php mvc



El enrutamiento PHP para ayudar a las URL amigables (1)

Estoy construyendo un sitio web que ejecuta todo el código a través de index.php.

Por ejemplo index.php?controller=something&id=01234 .

Quiero usar PHP para crear URL amigables, así que hago esto:

$request = str_replace(''/root/'', '''', $_SERVER[''REQUEST_URI'']); $params = explode(''/'', $request); $controllers = array(''first_c'', ''second_c'', ''third_c''); if (in_array($params[0], $controllers)) { include($params[0]); // just to give an example }

Luego, con una regla mod_rewrite RewriteRule ^.*$ ./index.php todo a index.php.

Tengo algunos problemas con esto: porque todo se envía a index.php, incluidos .css, .js y archivos de imágenes. Entonces, al lado del html generado por php, nada funciona correctamente. Estoy teniendo grandes problemas con esto porque probé mod_rewrite para todo (en lugar de PHP) y no puedo hacer que funcione ... por favor mira: Apaches mod_rewrite VS. Enrutamiento PHP?

Gracias.


Simplemente mejore su reescritura mod:

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule !/.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar/.gz)$ index.php [L] </IfModule>

¡Agregue especialmente la línea RewriteCond %{REQUEST_FILENAME} !-f

Y si quieres más secciones:

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule admin/.*$ admin.php [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule !/.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar/.gz)$ index.php [L] </IfModule>