- Home
- Categorie
- Coding e Sistemistica
- Hosting e Cloud
- Url rewrite con apache che gira sotto windows
- 
							
							
							
							
							
Hai verificato di avere il file mod_rewrite.so nella cartella *apache\modules*? 
 Hai riavviato apache?Se non risolvi ti sposto nella sezione dedicata al Web Server sperando di trovare maggior fortuna! 
 
- 
							
							
							
							
							certo c'è 
 e ho sempre fatto "restart apache" ad ogni modifica di httpd.conf
 
- 
							
							
							
							
							non so se possa essere d'aiuto ma tutto il pacchetto l'ho installato con AppServ 
 la directory sul mio pc è C:\AppServ\Apache2.2
 non so davvero cosa fare per fare qualche semplice test con il mod rewrite
 
- 
							
							
							
							
							
@gustoinrete said: salve sto facendo alcune prove stupidissime con il mod_rewrite su apache che gira sotto windows... allora la struttura del sito dove sto facendo le prove è la seguente 
 http://localhost/imm/scheda_articolo.php?ida=2il file htaccess l'ho messo nella directory http://localhost/imm/ e il file è molto semplice 
 RewriteEngine on
 RewriteRule ^titolo_articolo.html scheda_articolo.php?ida=$1&%{QUERY_STRING}mi bastava fare una prova 
 però non mi cambia il nome sulla barra degli indirizzi (ma la pagina funziona correttamente)
 avviso che il mod_rewrite è attivo tra i vari moduli (l'ho verificato eseguendo phpinfo())la sintassi è sbagliata.... dev'essere RewriteRule ^titolo_articolo.html$ scheda_articolo.php?ida=$0 non capisco il senso di quel {QUERY_STRING} alla fine, così facendo invalidi solo la query string da passare a scheda_articolo.php inoltre usando ^titolo_articolo.html$ la variabile $1 sarà vuota perchè l'espressione regolare genera un unico gruppo nel tuo caso devi usare $0 la quale conterrà il nome della pagina digitata nel browser, nome che sarà disponibile nello script php sotto la variabile ida 
 
- 
							
							
							
							
							quell'esempio è stato abbandonato da un bel pezzo  non riesco nemmeno a far girare questa **RewriteEngine On 
 RewriteRule ^topolino.htm pippo.htm **ci sono dei problemi con apache 
 
- 
							
							
							
							
							
@gustoinrete said: quell'esempio è stato abbandonato da un bel pezzo  non riesco nemmeno a far girare questa **RewriteEngine On 
 RewriteRule ^topolino.htm pippo.htm **ci sono dei problemi con apache c'è un errore di sintassi anche in questa.... l'espressione regolare deve iniziare con ^ e finire con $ quindi dev'essere RewriteRule ^topolino.htm$ pippo.htm 
 
- 
							
							
							
							
							l'ho modificata RewriteRule ^topolino.htm$ pippo.htm ma comunque mi dice file non trovato se provo a collegarmi a 
 http://localhost/imm/topolino.htm
 
- 
							
							
							
							
							
@gustoinrete said: l'ho modificata RewriteRule ^topolino.htm$ pippo.htm ma comunque mi dice file non trovato se provo a collegarmi a 
 http://localhost/imm/topolino.htma questo punto mi viene un dubbio, ma Apache è in ascolto sulla porta 80 ? se provi a fare http://localhost/ cosa esce? 
 
- 
							
							
							
							
							certo mi esce la pagina 
 The AppServ Open Project - 2.5.9 for Windowsinoltre se lancio la phpinfo() vedo tra i moduli caricati il modulo mod_rewrite 
 e php funziona senza problemi (inserimento dati db caricamento files etc etc)
 
- 
							
							
							
							
							
a questo punto l'unica possibilità è che il file scheda_articolo.php non ha i permessi di esecuzione 
 
- 
							
							
							
							
							no ma adesso il problema riguarda la pagina RewriteRule ^topolino.htm$ pippo.htm e la pagina pippo.htm viene vista regolarmente quindi non ci sono problemi di permessi di esecuzione  
 
- 
							
							
							
							
							
Secondo me, se sei sicuro di tutto quanto scritto fin qui, in questo thread, il problema è nel modulo mod_rewrite.so... Prova a scaricarti il file aggiornato, riavvia apache e vedi se trovi differenze. 
  
 
- 
							
							
							
							
							
@gustoinrete said: no ma adesso il problema riguarda la pagina RewriteRule ^topolino.htm$ pippo.htm e la pagina pippo.htm viene vista regolarmente quindi non ci sono problemi di permessi di esecuzione  no un momento.....la pagina pippo.htm viene vista? se digiti http://localhost/topolino.htm cosa vedi? 
 
- 
							
							
							
							
							
pippo.htm la vede, ma topolino.htm no... :bho: Credo sia un problema proprio del mod_rewrite...: che tu sappia paolino, visto che conosci meglio di me apache, può essere un problema di una versione datata di mod_rewrite che non gira con apache 2.2*?* 
 
- 
							
							
							
							
							
@ceccus said: pippo.htm la vede, ma topolino.htm no... :bho: Credo sia un problema proprio del mod_rewrite...: che tu sappia paolino, visto che conosci meglio di me apache, può essere un problema di una versione datata di mod_rewrite che non gira con apache 2.2*?* è possibile, ma in questo caso da dove ha preso Apache? in genere mod_rewrite è fornito con Apache.... esattamente hai installato Apache da solo o tramite WAMP o EasyPHP? 
 
- 
							
							
							
							
							scusate per il ritardo... 
 allora ho scaricato una mega applicazione che con un paio di colpi di click mi ha installato tutto mysql, php, phpmyadmin, apache etc etc .
 l'applicazione se non erro si chiama
 The AppServ Open Project - 2.5.9 for Windowsspero possiate darmi una mano io davvero non ho idea di come risolvere 
 
- 
							
							
							
							
							ragazzi non ho trovato il file da scaricare ma dubito che sia quel file il problema 
 vi passo un paio di righe del httpd.conf magari è una questione di directory non lo so sinceramenteDocumentRoot: The directory out of which you will serve yourdocuments. By default, all requests are taken from this directory, butsymbolic links and aliases may be used to point to other locations.DocumentRoot "C:/AppServ/www" Each directory to which Apache has access can be configured with respectto which services and features are allowed and/or disabled in thatdirectory (and its subdirectories).First, we configure the "default" to be a very restrictive set offeatures.<Directory /> 
 Options FollowSymLinks ExecCGI Indexes
 AllowOverride All
 Order deny,allow
 Deny from all
 Satisfy all
 </Directory>Note that from this point forward you must specifically allowparticular features to be enabled - so if something's not working asyou might expect, make sure that you have specifically enabled itbelow.This should be changed to whatever you set DocumentRoot to.<Directory "C:/AppServ/www"> 
 #
 # Possible values for the Options directive are "None", "All",
 # or any combination of:
 # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
 #
 # Note that "MultiViews" must be named explicitly --- "Options All"
 # doesn't give it to you.
 #
 # The Options directive is both complicated and important. Please see
 # http://httpd.apache.org/docs/2.2/mod/core.html#options
 # for more information.
 #
 Options Indexes FollowSymLinks MultiViews ExecCGI
 #
 # AllowOverride controls what directives may be placed in .htaccess files.
 # It can be "All", "None", or any combination of the keywords:
 # Options FileInfo AuthConfig Limit
 #
 AllowOverride All
 #
 # Controls who can get stuff from this server.
 #
 Order allow,deny
 Allow from all
 </Directory>DirectoryIndex: sets the file that Apache will serve if a directoryis requested.<IfModule dir_module> 
 DirectoryIndex index.php index.html index.htm
 </IfModule>The following lines prevent .htaccess and .htpasswd files from beingviewed by Web clients.<FilesMatch "^.ht"> 
 Order allow,deny
 Deny from all
 </FilesMatch>
 
- 
							
							
							
							
							
da quello che è scritto lì i file vanno messi in C:\AppServ\www il resto non sembra mostrare problemi 
 
- 
							
							
							
							
							in effetti il file htaccess è posizionato qui 
 C:\AppServ\www\imm\htaccessbho  
 
- 
							
							
							
							
							
@gustoinrete said: in effetti il file htaccess è posizionato qui 
 C:\AppServ\www\imm\htaccessbho  il file .htaccess è posizionato in imm ma i file .php e .html sono in www? inoltre sei sicuro che Apache vada a cerca htaccess invece di .htaccess? per fare questo cambiamento dovresti cambiare la configurazione di Apache