[PHP] convertire gli url ad forma semplice

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Salve, ho questo codice di esempio:
PHP:
include($_SERVER['DOCUMENT_ROOT'].'/inc.php');
$_GET = null;
switch(isset($_GET)) {
  case 'admin':
  echo 'admin home';
  break;
  case 'users':
  echo 'users';
  break;
  case 'news':
  echo 'news';
  break;
  case 'pages':
  echo "pages";
  break;
  case 'albums':
  echo "albums";
  break;
  case 'photo':
  echo "photo";
  break;
  case 'comment':
  echo 'comment';
  break;
}

come faccio dirgli che nel browser se digito http://www.sito.localhost/users/luigi777
oppure http://www.sito.localhost/pages/about
etc..

avete idea come posso fare? Grazie mille e buon 1 maggio.
 
Vedi di spiegarti meglio! Non si capisce bene cosa vuoi ottenere!
Ti garantisco che se usi molte parole non ti facciamo pagare nulla!!
dollar.gif
 
Salve, ho trovato qualcosa ma non so come farlo funzionare:
PHP:
define( 'INCLUDE_DIR', dirname( __FILE__ ) . '/inc/' );

$rules = array(
    'picture'   => "/picture/(?'text'[^/]+)/(?'id'\d+)",    // '/picture/some-text/51'
    'album'     => "/album/(?'album'[\w\-]+)",              // '/album/album-slug'
    'category'  => "/category/(?'category'[\w\-]+)",        // '/category/category-slug'
    'page'      => "/page/(?'page'about|contact)",          // '/page/about', '/page/contact'
    'post'      => "/(?'post'[\w\-]+)",                     // '/post-slug'
    'home'      => "/"                                      // '/'
);

$uri = rtrim( dirname($_SERVER["SCRIPT_NAME"]), '/' );
$uri = '/' . trim( str_replace( $uri, '', $_SERVER['REQUEST_URI'] ), '/' );
$uri = urldecode( $uri );

foreach ( $rules as $action => $rule ) {
    if ( preg_match( '~^'.$rule.'$~i', $uri, $params ) ) {
        /* now you know the action and parameters so you can
         * include appropriate template file ( or proceed in some other way )
         */
        include( INCLUDE_DIR . $action . '.php' );

        // exit to avoid the 404 message
        exit();
    }
}

// nothing is found so handle the 404 error
include( INCLUDE_DIR . '404.php' );

lo preso da qui:
https://stackoverflow.com/questions/16388959/url-rewriting-with-php

mi date spiegazione .. perché se faccio /page/about mi da 404 oggetto non trovato. avete idea?.
grazie mille.
 

Discussioni simili