# Mod_rewrite Fehler



## Tservarius (7. Februar 2007)

Hi, habe folgendes .htaccess-File mit folgenden Problemen


bei der Eingabe von http://www.servername.com wird das "www" entfernt, dieses soll nicht entfernt werden, aber logischerweise sollen denn auch nicht die folgenden Regeln durchlaufen werden, da es sonst crashen könnte, da "www" mit VAR1 als Subdomain verwechselt wird
Die Regel mit der Sitemap scheint irgendwie nicht so ganz zu funktionieren, eigentlich sollte die Syntax sein http://VAR1.servername.com/sitemap.xml ==> http://www.servername.com/gensitemap.php?stadt=VAR1
Bei der Regel mit der location.php wird die Subdomain VAR1 nicht als Parameter an die location.php übergeben (stadt=)
Bei der Regel mit der index.php wird die Subdomain VAR1 nicht als Parameter an die index.php übergeben (stadt=)


wäre super, wenn jemand mit Rat und Tat zur Seite stehen könnte.

Gruß,
Lars


```
Options +FollowSymLinks

RewriteEngine On

RewriteCond %{REQUEST_URI} ^(.+)\.html$ [NC]
RewriteCond %{DOCUMENT_ROOT}%1.php -f
RewriteRule ^(.+)\.html$ $1.php [QSA,L]

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} !^www\.servername\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.servername\.com$ [NC]
RewriteRule ^([^/]+)/?$ /index.php?stadt=%1&wochentag=%2 [QSA,L]

RewriteCond %{HTTP_HOST} !^www\.servername\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.servername\.com$ [NC]
RewriteRule ^sitemap\.xml$ /gensitemap.php3?stadt=%1 [QSA,L]

RewriteCond %{HTTP_HOST} !^www\.servername\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.servername\.com$ [NC]
RewriteRule ^(location)/([^/]+)/?$ /$1.php?stadt=%1&$1=$2 [QSA,L]
```


----------



## Tservarius (8. Februar 2007)

mmm. schade, dass noch niemand geantwortet hat, habe es schon ein bisschen selber hinbekommen, der code sieht nun so aus


```
RewriteEngine On

#Umschreiben von html in php dokumente (tarnen)
RewriteCond %{REQUEST_URI} ^(.+)\.html$ [NC]
RewriteCond %{DOCUMENT_ROOT}%1.php -f
RewriteRule ^(.+)\.html$   $1.php [QSA,L]

# Location rewriten
RewriteCond %{HTTP_HOST} !^www\.servername\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.servername\.com$ [NC]
RewriteRule ^(location)/([^/]+)/?$   /location.php?stadt=%3&location=$2 [QSA,L]

#Sitemap rewriten
RewriteCond %{HTTP_HOST} !^www\.servername\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.servername\.com$ [NC]
RewriteRule ^sitemap\.xml$   /gensitemap.php?stadt=%2 [QSA,L]

#Subhost und Wochentag rewriten (wenn beides da)
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} !^www\.servername\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.servername\.com$ [NC]
RewriteRule ^([^/]+)/?$   /index.php?stadt=%2&wochentag=$1 [QSA,L]

#Subhost und Wochentag rewriten (wenn nur Subhost da)
RewriteCond %{HTTP_HOST} !^www\.servername\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.servername\.com$ [NC]
RewriteRule ^$ /index.php?stadt=%2 [QSA,L]
```

zwei fehler sind noch drinne, vielleicht kann mir da ja jemand helfen?


Bei der Eingabe von http://www.servername.com wird das "www" immer entfernt, dies sollte nicht so sein
Bei der Location-Rewrite regel, wird leider nicht die subdomain als parameter für "stadt" an die location.php übergeben, das feld bleibt einfach blank  habe von %1-%3 und $1-$3 schon alles durchprobiert.. es bringt einfach nix 

wäre super, wenn sich jemand die zeit nimmt zu antworten.

danke!


----------



## Gumbo (8. Februar 2007)

Probier mal Folgendes:
	
	
	



```
#Umschreiben von html in php dokumente (tarnen)
RewriteCond   %{REQUEST_URI}           ^.+\.html$   [NC]
RewriteCond   %{DOCUMENT_ROOT}%1.php   -f
RewriteRule   ^(.+)\.html$             $1.php   [QSA,L]

# Location rewriten
RewriteCond   %{HTTP_HOST}   !^www\.servername\.com$   [NC]
RewriteCond   %{HTTP_HOST}   ^(www\.)?([^\.]+)\.servername\.com$   [NC]
RewriteRule   ^location/([^/]+)/?$   /location.php?stadt=%2&location=$1   [QSA,L]

#Sitemap rewriten
RewriteCond   %{HTTP_HOST}     !^www\.servername\.com$   [NC]
RewriteCond   %{HTTP_HOST}     ^(www\.)?([^\.]+)\.servername\.com$   [NC]
RewriteRule   ^sitemap\.xml$   /gensitemap.php?stadt=%2   [QSA,L]

#Subhost und Wochentag rewriten (wenn beides da)
RewriteCond   %{ENV:REDIRECT_STATUS}   ^$
RewriteCond   %{HTTP_HOST}             !^www\.servername\.com$   [NC]
RewriteCond   %{HTTP_HOST}             ^(www\.)?([^\.]+)\.servername\.com$   [NC]
RewriteRule   ^([^/]+)/?$              /index.php?stadt=%2&wochentag=$1   [QSA,L]

#Subhost und Wochentag rewriten (wenn nur Subhost da)
RewriteCond   %{HTTP_HOST}   !^www\.servername\.com$   [NC]
RewriteCond   %{HTTP_HOST}   ^(www\.)?([^\.]+)\.servername\.com$   [NC]
RewriteRule   ^$             /index.php?stadt=%2   [QSA,L]
```


----------



## Tservarius (8. Februar 2007)

danke für deine hilfe, lag nicht daran, aber hab es anders gelöst, lag irgendwie daran, dass er mit 2 parametern stadt in 2 regeln durcheinanderkam, hab den parameter einfach nen bisschen umbenannt - nun gehts 

danke trotzdem vielmals!


----------

