Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: file .htaccess

  1. #1

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    209
    mod_rewrite deve essere presente

    .htaccess

    RewriteEngine on
    RewriteRule ([^\.]+)\.html index.php?$1

    Questa regola ti va bene se la pagina è solo index.php, prova a fare l'altra regola te, se non ti riesce scrivi qua di nuovo.

    Consiglio: per l'altra regola al posto di index e simple_window metti qualche parola chiave

    ciao!

  3. #3
    Ciao grazie del primo consiglio io per le altre pagine ho fatto così per ora

    RewriteRule ([^\.]+)\.html z_simple_window.php?160=$1

    RewriteRule ([^\.]+)\.html index.php?1884=$1

    però se lo devo fare per tutti i link che ho divento matto quindi mi sa che a logica per fare prima devo sostituire un qualcosa al ?xxxx(numero) che vada bene per tutte le pagine, ma non so cosa

  4. #4
    P.S. dove posso trovare una piccola guida su come scrivere i file .htaccess grazie

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    209
    httpd.apache.org/docs/1.3/mod/mod_rewrite.html è il link ufficiale mod_rewrite, ma per scrivere le regole devi sapere le espressioni regolari.

    quello che devi fare te è separare 2 occorrenze:

    www.xyz.com/index.php?id=1, mettiamo

    a te interessa cambiare pagina e id

    perciò la soluzione è:
    RewriteRule ([^/]+)/([^\.]+)\.html $1.php?id=$2

    tratti il file php come la dir e l'id come il file html

    visto che riscrivi l'url per i motori (e per mascherarare anche illinguaggio, ma lì devi cambiare anche le header) ti conviene:

    se il tuo sito vende affettati, non mettere "index/1.html", ma "affettati/salame.html".

    Tra un po' uscirà la nuova versione del mio framework che aiuterà a fare queste cose (e più complesse) in automatico.

  6. #6
    Grazie però il problemone è questo
    Io ho tutte le url così
    da
    http://www.xxxxxxxxxx.net/index.php?1
    a
    http://www.xxxxxxxxxx.net/index.php?999

    senza un id=

    è per questo che non riesco ad editare bene il file .htaccess,
    per la index ho usato questo codice

    RewriteRule ([^\.]+)\.html index.php?$1

    ma per tutte le altre pagine non so cosa fare

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    209
    La stessa cosa tranne che non ci metti id=

  8. #8
    ci ho provato ho fatto così

    Options +FollowSymLinks
    RewriteEngine on
    RewriteRule ([^\.]+)\.html index.php?$1
    RewriteRule ([^/]+)/([^\.]+)\.html $1.php?$2

    ma mentre l'index appare giusta tutte le altre pagine mi appaiono sempre

    http://www.xxxxxxxxxx.net/index.php?1


  9. #9
    Faccio un piccolo aggiornamento del problema dopo aver editato il file .htaccess come detto sopra
    1) Per l'index tutto a posto
    2) I link presenti nella pagina però restano del tipo - http://www.xxxxxxxxxx.net/index.php?1 -
    3) Provo a scrivere direttamente l' url http://www.xxxxxxxxxx.net/index/1.html
    (e con mia grande sorpresa appare la pagina desiderata in html)
    4) PROBLEMA: Il link della pagina ora sono diventati tutti del tipo http://www.xxxxxxxxxxxx.net/index/index.php?1
    5) Se clicco su un link mi dice: Not Found
    The requested document was not found on this server.

    AIUTO

    Conclusioni:L' Url rewriter funziona evidentemente ma non direttamente dalla index.html (che non reiscrive i link all interno della pagina) bisogna andare su un link index/N.html e una volta che si è digitato manualmente tutti i link della pagina vengono reiscritti come http://www.xxxxxxxxxxxx.net/index/index.php?1

    NON MI RESTA CHE PIANGERE

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    209
    i link se vuoi che lo spider li segua devono essere come designati dal RewriteEngine cioè non index.php?11, ma index/11.html.

    Poi non so come mai non utilizzi la variabile in get, ma il nome stesso della variabile è la variabile, secondo me ti porta via del buon tempo a recuperarla.

    poi per amor delle cose fatte bene dovresti impedire l'accesso al file controller (a meno che non si index.php) da .htaccess e mettere la regoletta [L] , last, nella regola di riscrittura.

    Se quello che ti ho detto non ti bastasse, forse dovresti scrivere l'.htaccess, il link, e la pagina index.php, ma cerca di capire quello che ti ho detto.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.