- Home
- Categorie
- Coding e Sistemistica
- Hosting, Server e Domini
- Url rewrite con apache che gira sotto windows
-
sono in locale a fare i miei test
ho tolto il punto davanti alla direttiva AccessFileName
facendo il test topolino pippo non funziona... pagina non trovata
bhooooo
-
@gustoinrete said:
sono in locale a fare i miei test
Con cuteFTP, la finestra di sx (tipicamente) esplora le risorse locali e consente di rinominare i file...
@gustoinrete said:
ho tolto il punto davanti alla direttiva AccessFileName
E davanti agli altri riferimenti? Devi fare trova/sostituisci in modo da eliminare il punto davanti ad ogni richiamo di htaccess... quindi riavvia tutto.
-
ma nell'httpd.conf io ho solo quella voce che richiama .htaccess
poi compare sotto forma di testo descrittivo come ad esempio qui# 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 #
oppure
The following lines prevent .htaccess and .htpasswd files from being
viewed by Web clients.
o ancora
The directive above can be placed in individual <Directory> blocks or the
.htaccess file, with either the 'registry' (Windows behavior) or 'script'
(Unix behavior) option, and will override this server default option.
-
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 your
documents. By default, all requests are taken from this directory, but
symbolic 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 respect
to which services and features are allowed and/or disabled in that
directory (and its subdirectories).
First, we configure the "default" to be a very restrictive set of
features.
<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 allow
particular features to be enabled - so if something's not working as
you might expect, make sure that you have specifically enabled it
below.
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 directory
is requested.
<IfModule dir_module>
DirectoryIndex index.php index.html index.htm
</IfModule>The following lines prevent .htaccess and .htpasswd files from being
viewed by Web clients.
<FilesMatch "^.ht">
Order allow,deny
Deny from all
</FilesMatch>