Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [mod_rewrite] Non riesco a farlo funzionare...

    Salve a tutti

    Allora, premettendo che ho già attivato dal pannello il supporto al mod_rewrite, il mio problema è che non riesco a farlo funzionare, sia in locale che su AlterVista, xke mi restituisce sempre un errore 404.
    Probabilmente è un errore del cavolo che non mi viene in mente, ecco xke vi dirò tutto x filo e x segno sperando che mi possiate aiutare ^^

    Io uso Gentoo Linux e nel file /etc/apache2/httpd.conf cercando rewrite ho trovato solo questa riga:
    codice:
    LoadModule rewrite_module                modules/mod_rewrite.so
    Ho creato un file PHP con dentro una chiamata a phpinfo() per vedere se il modulo era caricato da Apache e nella lista dei moduli caricati c'è.

    Ho creato un file ".htaccess" nella root directory di Apache (ho provato anche in una sottodirectory, ma non funziona ugualmente) con questo semplicissimo contenuto:
    codice:
    RewriteEngine on
    RewriteBase /
    
    RewriteRule ^news.html$ /index.php
    Ora, se ho capito bene come funziona il mod_rewrite, a regola se vado col browser all'URL http://localhost/news.html dovrebbe farmi vedere http://localhost/index.php giusto?
    Invece ricevo una pagina d'errore 404, che in locale è quella base di Apache mentre su AlterVista ho la mia personalizzata.

    Quello che devo arrivare a fare è questo, sperando di averlo scritto bene :/
    codice:
    RewriteRule ^/([a-zA-Z0-9_]+)__([a-zA-Z0-9_]+)\.html$ /index.php?cat=$1&file=$2
    quindi capite bene che come non funziona quello semplicissimo di prima, non funziona nemmeno questo ^^

    Ripeto, probabilmente è una cavolata e io ho appena perso 2 ore della mia vita su questa cavolata :P però se mi poteste aiutare mi risolvereste un enorme problema.

    Grazie anticipatamente per le risposte
    Ciao ciao

  2. #2
    No ok su AlterVista sono riuscito a farlo andare, anche se non mi considera i parametri passati per GET, mentre in locale si ostina a non andare...

    Già che ci siamo, il problema su AlterVista è che ho questa riga:
    codice:
    RewriteRule ^dragobianco/([a-zA-Z0-9]+)\.html\?([.]*) dragobianco/index.php?cat=$1&$2
    ma se scrivo pagina.html?val=2 mi restituisce la pagina come se scrivessi semplicemente pagina.html.

    Qualcuno riesce ad aiutarmi?

    Grazie anticipatamente.
    Ciao ciao

  3. #3
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782

    Re: [mod_rewrite] Non riesco a farlo funzionare...

    Originariamente inviato da mattemod

    codice:
    RewriteEngine on
    RewriteBase /
    
    RewriteRule ^news.html$ /index.php
    togli lo slash prima di index.php e fai l'escape del . prima di html:

    codice:
    RewriteEngine on
    RewriteBase /
    
    RewriteRule ^news\.html$ index.php


    Originariamente inviato da mattemod
    codice:
    RewriteRule ^dragobianco/([a-zA-Z0-9]+)\.html\?([.]*) dragobianco/index.php?cat=$1&$2
    ma se scrivo pagina.html?val=2 mi restituisce la pagina come se scrivessi semplicemente pagina.html.

    la querystring non viene considerata nell'url della rewriteRule.
    Prova così:

    codice:
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{QUERY_STRING}  ^(.*)$
    RewriteRule  ^dragobianco/([a-zA-Z0-9]+)\.html$ dragobianco/index.php?cat=$1&%1
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

  4. #4

    Re: Re: [mod_rewrite] Non riesco a farlo funzionare...

    togli lo slash prima di index.php e fai l'escape del . prima di html:
    Sìsì grazie, scusa ma mi son dimenticato di dire che è così che l'ho fatto andare su AlterVista ^^'

    la querystring non viene considerata nell'url della rewriteRule.
    Prova così:

    codice:
    RewriteEngine On
    RewriteBase /
    
    RewriteCond %{QUERY_STRING}  ^(.*)$
    RewriteRule  ^dragobianco/([a-zA-Z0-9]+)\.html$ dragobianco/index.php?cat=$1&%1
    Ahh ecco xke... avevo saltato di netto la parte di RewriteCond pensando che non fosse quello che mi serviva... allora domani me la leggo a modo
    Cmq ho provato quello che m'hai scritto ma non funziona lo stesso :/
    Praticamente se apro pag.html?var=1 invece di farmi vedere index.php?cat=pag&var=1 mi fa vedere index.php?cat=pag :/

    Grazie per ora
    Ciao ciao

  5. #5
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    beh in effetti... così non può ovviamente funzionare perchè non abbiamo sistemato il RewriteBase.

    Se opti per una soluzione con .htaccess nella cartella "/dragobianco" allora puoi fare così:

    codice:
    RewriteEngine On
    RewriteBase /dragobianco
    
    RewriteCond %{QUERY_STRING}    ^(.*)$
    RewriteRule  ^([a-zA-Z0-9]+)\.html$    index.php?cat=$1&%1
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

  6. #6
    Habanero ho provato il tuo codice e ti ringrazio tantissimo xke funziona ma ho trovato il problema: non era il RewriteBase ma il fatto che prima di
    codice:
    RewriteCond %{QUERY_STRING}    ^(.*)$
    RewriteRule  ^([a-zA-Z0-9]+)\.html$    index.php?cat=$1&%1
    avevo lasciato
    codice:
    RewriteRule ^dragobianco/([a-zA-Z0-9]+)\.html$ dragobianco/index.php?cat=$1
    che era nel caso non venisse passato nessun argomento tramite GET, solo che non venendo considerati i parametri di GET Apache considerava valida subito questa regola ^^'

    Grazie mille x l'aiuto, alla fine ce l'abbiamo fatta a fare sta cavolata

    Purtroppo però rimane sempre il problema x cui i files .htaccess non mi vengono considerati in locale :/
    Sai/sapete mica darmi una mano anche x questo?

    Grazie, ciao ciao

  7. #7
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    Originariamente inviato da mattemod

    Purtroppo però rimane sempre il problema x cui i files .htaccess non mi vengono considerati in locale :/
    Sai/sapete mica darmi una mano anche x questo?
    probabilmente il tuo file di configurazione di apache (httpd.conf) contiene un "AllowOverride none" sulla cartella principale del sito. Cerca tale voce e sostituiscila con "AllowOverride all"
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

  8. #8
    Allora, ho cambiato con All il None in queste righe:
    codice:
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    ma non funzionava lo stesso, così ho aggiunto queste 2 sezioni:
    codice:
    <Directory /var/www/localhost/htdocs>
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    
    <Directory /home/mattemod/Desktop/hestiun>
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    dove htdocs è un symlink alla directory della seconda sezione (l'ho aggiunti tutti e 2 x provare, non si sa mai ^^)... ma non funziona lo stesso :/

  9. #9
    Moderatore di Sicurezza informatica e virus L'avatar di Habanero
    Registrato dal
    Jun 2001
    Messaggi
    9,782
    se
    /home/mattemod/Desktop/hestiun
    è il percorso della root per il sito dovrebbe bastare impostare AllowOverride All per tale cartella.

    Hai riavviato Apache dopo la modifica?
    Leggi il REGOLAMENTO!

    E' molto complicato, un mucchio di input e output, una quantità di informazioni, un mucchio di elementi da considerare, ho una quantità di elementi da tener presente...
    Drugo

  10. #10
    Sìsì certo, l'ho riavviato + volte:
    la prima xke ho provato a scrivere quelle 2 sezioni subito sotto alla sezione della directory di root
    la seconda xke ho provato a spostarle sotto a tutte le altre sezioni x vedere se cambiava qualcosa
    poi ho riavviato altre volte, ma il risultato è sempre lo stesso: nulla :/

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 © 2025 vBulletin Solutions, Inc. All rights reserved.