RewriteEngine On nicht dauerhaft herstellbar mit xampp

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

RewriteEngine On nicht dauerhaft herstellbar mit xampp

Postby GHO » 06. June 2009 23:00

Hallo, ich entschuldige mich dafür diesen neuen thread aufzumachen, aber der alte, ungelöste wurde zu unübersichtlich.

Ich habe eine ganz neue xampp installation und kriege das rewriting nicht eingestellt. Am Anfang schien zumindest die hier in der htaccess auskommentierte rewrite auf eine google Seite zu funktionieren, auch unter htdocs, nach Installation der virtual hosts geht das verloren.
Was ich in der Standard Installation verändert habe:
Unter Windows/System327drivers/etc die hosts datei sieht so aus
Code: Select all
127.0.0.1       localhost
    ::1             localhost

127.0.0.1         deutsch.dd www.deutsch.dd
127.0.0.1         euro.dd www.euro.dd
127.0.0.1         french.dd www.french.dd


die httpd-vhosts.conf
Code: Select all
<VirtualHost 127.0.0.1>
    ServerName localhost
    AddType text/html .shtml
    AddHandler server-parsed .shtml
    ServerAdmin webmaster@localhost
    DocumentRoot "c:/xampp/htdocs"
    ScriptAlias /cgi-bin/ "c:/xampp/htdocs/cgi-bin/"

    <Directory "c:/xampp/htdocs">
    Options Indexes FollowSymLinks
    Options +Includes
#   Options +
    AllowOverride FileInfo
    AllowOverride None
    Order allow,deny
    Allow from all
    DirectoryIndex index.php index.shtml index.html index.htm
    </Directory>
</VirtualHost>

<VirtualHost 127.0.0.1>
    ServerName www.deutsch.dd
    ServerAlias deutsch.dd
    AddType text/html .shtml
    AddHandler server-parsed .shtml
    ServerAdmin webmaster@domain.dd
    DocumentRoot "c:/xampp/htdocs_deutsch"
    ScriptAlias /cgi-bin/ "c:/xampp/htdocs_deutsch/cgi-bin/"

    <Directory "c:/xampp/htdocs_deutsch">
    Options Indexes FollowSymLinks
    Options +Includes
#   Options +
    AllowOverride FileInfo
    AllowOverride None
    Order allow,deny
    Allow from all
    DirectoryIndex index.php index.shtml index.html index.htm
    </Directory>
</VirtualHost>

<VirtualHost 127.0.0.1>
    ServerName www.french.dd
    ServerAlias french.dd
    AddType text/html .shtml
    AddHandler server-parsed .shtml
    ServerAdmin webmaster@french.dd
    DocumentRoot "c:/xampp/htdocs_french"
    ScriptAlias /cgi-bin/ "c:/xampp/htdocs_french/cgi-bin/"

    <Directory "c:/xampp/htdocs_french">
    Options Indexes FollowSymLinks
    Options +Includes
#   Options +
    AllowOverride FileInfo
    AllowOverride None
    Order allow,deny
    Allow from all
    DirectoryIndex index.php index.shtml index.html index.htm
    </Directory>
</VirtualHost>

<VirtualHost 127.0.0.1>
    ServerName www.euro.dd
    ServerAlias euro.dd
    AddType text/html .shtml
    AddHandler server-parsed .shtml
    ServerAdmin webmaster@euro.dd
    DocumentRoot "c:/xampp/htdocs_euro"
    ScriptAlias /cgi-bin/ "c:/xampp/htdocs_euro/cgi-bin/"

    <Directory "c:/xampp/htdocs_euro">
    Options Indexes FollowSymLinks
    Options +Includes
#   Options +
    AllowOverride FileInfo
    AllowOverride None
    Order allow,deny
    Allow from all
    DirectoryIndex index.php index.shtml index.html index.htm
    </Directory>
</VirtualHost>



in der httpd.conf
Code: Select all
<Directory "C:/xampp/htdocs_deutsch">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

<Directory "C:/xampp/htdocs_french">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

<Directory "C:/xampp/htdocs_euro">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>


meine htaccess
Code: Select all
SetEnv REGISTER_GLOBALS 0
SetEnv ZEND_OPTIMIZER 1
SetEnv MAGIC_QUOTES 1
SetEnv PHP_VER 5

#Redirect 301 /de http://www.gunterhoffmann.com
#Options FollowSymLinks

##
# @version $Id: htaccess.txt 10492 2008-07-02 06:38:28Z ircmaxell $
# @package Joomla
# @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
# Joomla! is Free Software
##


#####################################################
#  READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations.  It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that dissallows changing it in
# your .htaccess file.  If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your sef url's.  If they work,
# it has been set by your server administrator and you do not need it set here.
#
#####################################################

##  Can be commented out if causes errors, see notes above.
Options +FollowSymLinks

#
#  mod_rewrite in use

RewriteEngine On
#RewriteRule ^ http://www.google.de [R,L]

#RewriteCond %{HTTP_HOST} !^www\.immobilien-france\.eu$ [NC]
#RewriteRule ^(.*)$ http://www.immobilien-france.eu/ [R=301,L]

########## Begin - Rewrite rules to block out some common exploits
## If you experience problems on your site block out the operations listed below
## This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#
########## End - Rewrite rules to block out some common exploits

#  Uncomment following line if your webserver's URL
#  is not directly related to physical file paths.
#  Update Your Joomla! Directory (just / for root)

# RewriteBase /


########## Begin - Joomla! core SEF Section
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
########## End - Joomla! core SEF Section

# Rule for duplicate content removal : www.domain.com vs domain.com
#RewriteCond %{HTTP_HOST} ^immobilien-france\.eu [NC]
#RewriteRule (.*) http://www.immobilien-france.eu/$1 [R=301,L,NC]







Mit dieser htaccess im wesentlichen läuft die webseite remote, mit SEO optimierten url's, hier leider nicht.

Wenn sich diese Änderungen nicht anaylisieren lassen, hat jemand derartige Dateien / Einstellungen mit denen er rewriterules unter einer domain.dd oder ähnlicher test urls ausführen kann ?
Wichtig ist mir nur, dass ich url's/lokale domain namen habe (deshalb die virtual hosts) , mit denen ich dann redirects und ähnliches lokal testen kann, was mit den Seiten direkt unter htdocs so nicht gehen soll.
(Bei mir geht aber trotz aller Versuche jetzt auch nichts :( )
GHO
 
Posts: 35
Joined: 07. December 2008 18:19

Re: RewriteEngine On nicht dauerhaft herstellbar mit xampp

Postby GHO » 07. June 2009 10:23

Also, nach unzähligen Versuchen und leider ohne spezifische Hilfestellung in den deutschen Foren habe ich durch herumprobieren eine Antwort dazu gefunden.
Der Schlüssel liegt darin, dass in Verbindung mit virtual hosts unter xampp die 'RewritwEngine On'-Anweisung in der .htaccess einfach ignoriert wird, obwohl in der httpd.conf -Datei das entsprechende Load Modul nicht auskommentiert ist, also kein #_zeichen hat und eigentlich wirksam werden müßte.

Die auch hier hinterlegten Dateien wie hosts (windows/system32/etc/hosts) die im apache-ordner unter conf liegende httpd bzw. die unter extra liegende httpd-vhosts.conf funktionieren soweit grundsätzlich ohne Rewrite allerdings, man muß allerdings unbedingt daran denken, auch zusätzliche directories in der httpd selbst zu definieren (analge der vorhandenen für htdocs).

Warum trotz RewriteEngine On in der httpd.conf sich dieser Befehlt nicht mittels .htaccess aktivieren lässt, weiss ich nicht.

Innerhalb der httpd-vhosts.conf habe ich deshalb zusätzlich die (in meinem Fall aus der joomla .htacces stammenden) benötigten rewrite Regeln dort zusätzlich jeweils eingefügt, das sieht dann bei mir so aus:

Code: Select all
<VirtualHost 127.0.0.1>
    ServerName www.deutsch.dd
    ServerAlias deutsch.dd
    AddType text/html .shtml
    AddHandler server-parsed .shtml
    ServerAdmin webmaster@domain.dd
    DocumentRoot "c:/xampp/htdocs_deutsch"
    ScriptAlias /cgi-bin/ "c:/xampp/htdocs_deutsch/cgi-bin/"

    <Directory "c:/xampp/htdocs_deutsch">
    Options Indexes FollowSymLinks
    Options +Includes
#   Options +
    AllowOverride FileInfo
    AllowOverride None
    Order allow,deny
    Allow from all
   
   RewriteEngine On
    ########## Begin - Rewrite rules to block out some common exploits
## If you experience problems on your site block out the operations listed below
## This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#
########## End - Rewrite rules to block out some common exploits

#  Uncomment following line if your webserver's URL
#  is not directly related to physical file paths.
#  Update Your Joomla! Directory (just / for root)

# RewriteBase /


########## Begin - Joomla! core SEF Section
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
########## End - Joomla! core SEF Section

    DirectoryIndex index.php index.shtml index.html index.htm
    </Directory>
</VirtualHost>


Damit hatte ich dann mein Ziel erreicht, mir ein Testumfeld zu schaffen, in dem ich die Verteilung der vd. Sprachen meiner mehrsprachigen webseite auf unterchiedliche, für die jeweilige Sprache ausgewählte domain,im lokalen apache Server austesten zu können.

Wer sich für mehr interessiert wie sich SEO-freundlich eine mehrsprachige joomla-webseite erstellen lässt, hier der Link zu meiner Lösung:
http://www.joomlaportal.de/joomla-erweiterungen-komponenten/187216-konfiguration-artio-joomsef.html#post883029
GHO
 
Posts: 35
Joined: 07. December 2008 18:19


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 5 guests