Apache mod_rewrite aktiviert, aber funktioniert nicht
Kämpft zweiten Tag gegen Probleme mit der Verwendung von mod_rewrite.
OS-System: Windows XP
HTTP-server: Apache httpd 2.2
paar zugehörigen Zeilen aus der httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/mod_proxy.so
DocumentRoot "N:/Web-dev/www"
<Directory "/">
Options Indexes +FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory "N:/Web-dev/www">
Options Indexes +FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
.htaccess enthält:
RewriteEngine on
RewriteRule ^alice.html$ bob.html
php info sagt
Loaded Modules core mod_win32 mpm_winnt http_core mod_so mod_actions mod_alias mod_asis mod_auth_basic mod_authn_default mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_autoindex mod_cgi mod_dir mod_env mod_include mod_isapi mod_log_config mod_mime mod_negotiation mod_setenvif mod_rewrite mod_proxy mod_php5
Beide Dateien vorhanden sind, be-alice.html es noch lädt es, im neu zu schreiben.log zeigt er:
127.0.0.1 - - [25/Apr/2011:11:01:27 +0300] [localhost/sid#7b5148][rid#2bc70b0/initial] (1) [perdir N:/Web-dev/www/] pass through N:/Web-dev/www/alice.html
Ich Raven versucht zu testen, ob es ist, zu Lesen .htaccess-Datei, indem Sie einige jibberish zu rewrite engine-Befehl, und es erwies sich:
[Mon Apr 25 10:47:04 2011] [alert] [client 127.0.0.1] N:/Web-dev/www/.htaccess: Invalid command 'ReDELETEMEwriteEngine', perhaps misspelled or defined by a module not included in the server configuration
Sondern machen Sie dasselbe, um RewriteRule, es ändert sich nichts, wie wenn Sie ignoriert diese. Ich bin von Optionen, was zu tun ist!?
- Ist die Datei wirklich aufgerufen
alice.html
und nichtAlice.html
oder etwas ähnliches? Fall Fragen. - Sollte verschoben werden serverfault.com
- ja, die Datei ist wirklich genannt alice.html und kann geöffnet werden. Ich sah andere Fragen hier gestellt, ich hoffe, jemand hilft...
- Danke für die Erinnerung mir dies. Die versteckten Räume und char-encoding-Probleme.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Machen weitere tests, bekomme ich seltsame Ergebnisse - Hinzugefügt einige DELETEME vor RewriteEngine Befehl schlägt fehl mit Fehler ab, wenn ich etwas hinterher, Sie ignoriert es, wie wenn es wäre nicht errrs!
Dann erinnere ich mich an meine Erfahrungen mit regex und text-Analyse, fragte ich mich, ob eine Manipulation mit CRLF würde etwas gutes tun, und aufdecken, was ist die aktuelle Datei neue Zeile Symbole, aufgedeckt, dass Sie, wo CR. Soweit ich weiß, Apache ist es auf unix-basierten software, ich dachte, es könnte missverstanden, wenn ich Sie konvertiert LF-s und das war es, alles funktionierte danach!
Hinweis an die Zukunft - stellen Sie sicher, mit Ihrem editor (EditPlus, Notepad++, etc), dass Ihr .htaccess-neue Zeile Symbole werden Multiplattform-kompatibel (CRLF), oder zumindest unix-kompatibel (LF), wenn die Arbeit mit apache!