| 

.NET C# Java Javascript Exception

1
Hey Leute,

ich hab gerade ein kleines (GROßES) Problem, bei dem Ihr mir bestimmt helfen könnt:
Folgende Rewrites steht in unserer htaccess Datei:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/(media|skin|js)/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule .* index.php/ [L]


Das Probelm dabei ist das die weiterleitung von http://domain.de/kategoie/produkt nicht auf
http://www.domain/kategorie/produkt leitet sondern auf die http://www.domain.de/

Kann man das irgendwie einstellen, das er einfach nur das www. davor einsetzt und trotzdem den Link verfolgt?

VG
News:
10.10.2013
spiike 170 1 7
Eigentlich hat m.marnitz schon alles zur .htaccess geschrieben.
Nur so, wenn du die Apache-Config für den vhost bearbeiten kannst, dann würde ich einen eigenen vhost (auf der selben IP) für domain.de machen und von da aus einen RedirectPermanent auf www.domain.de setzten. Dann sollte es da keine Konflikte geben.
Kann da gerne ins Detail gehen, falls das eine Option ist.
phg 11.10.2013
2 Antworten
1
Hey,

wenn ich das so richtig sehe, dann sorgt diese .htaccess-Datei gar nicht für eine Weiterleitung. Die eigentliche Weiterleitung wird dann das PHP-Skript vornehmen. Du müsstest uns also die entsprechende Stelle im PHP-Skript zeigen, an der die Weiterleitung vorgenommen wird.

LG Marcel

PS: Der PHP-Code könnte also folgendermaßen aussehen:

if(substr($_SERVER['SERVER_NAME'], 0, 4) != 'www.') {
header('Location: http://www/.' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']);
exit;
}


Edit: In dem Aufruf der Header-Funktion darf hinter dem "www" kein Slash folgen (irgendwie wird da ein Slash hinzugefügt :/)
10.10.2013
m.marnitz 216 4
Es handelt sich hierbei um Magento - jemand ne Ahnung wo ich diese Schnipsel finden kann?
spiike 11.10.2013
0
Hab eine Teil-Antwort:
In Magento die automatische Weiterleitung deaktivieren und folgenden Code direkt unter das RewriteEngine on schreiben:

RewriteRule .? - [E=PROTO:http]

RewriteCond %{HTTPS} =on
RewriteRule .? - [E=PROTO:https]

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ %{ENV:PROTO}://www.%{HTTP_HOST}/$1 [R=301,L]


Weißt denn einer wie ich den QUERY_STRING aus der URL ausbleben kann? Also alles was nach dem ? kommt um doppelten Content zu vermeiden.
11.10.2013
spiike 170 1 7
spiike 170 1 7

Stelle deine Htaccess-Frage jetzt!