Per .htaccess alte Produktseiten umleiten

Bär

Mitglied
Hallo zusammen

Da es hier offensichtlich .htaccess Profis hat. Könnt Ihr mir bei folgendem Problem helfen?
Ich möchte per .htaccess alte Produktseiten eines Xt-Commerce auf neue leiten... leider klappt das jedoch nicht.

alte Url: http://www.example.ch/unterverzeichnis/unt...odukt::678.html
neue Url: http://www.example.ch/unterverzeichnis/unt...kt::189789.html

Irgendwie schaffe ich das nicht das die richtig umgeleitet wird, ich glaube meine jetzige .htaccess rules stören..

Jemand eine Idee wie die rule aussieht?

Gruss Roman

Meine htaccess:

CODE # $Id: .htaccess,v 1.5 2005/05/19 17:09:19 Administrator Exp $
#
# This is used with Apache WebServers
#
# For this to work, you must include the parameter 'Options' to
# the AllowOverride configuration
#
# Example:
#
#<Directory "/usr/local/apache/htdocs">
# AllowOverride Options
#</Directory>
#
# 'All' with also work. (This configuration is in the
# apache/conf/httpd.conf file)
# The following makes adjustments to the SSL protocol for Internet
# Explorer browsers
<IfModule mod_setenvif.c>
<IfDefine SSL>
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
</IfDefine>
</IfModule>

# Fix certain PHP values
# (commented out by default to prevent errors occuring on certain
# servers)
#<IfModule mod_php4.c>
# php_value session.use_trans_sid 0
# php_value register_globals 1
#</IfModule>

#-- Call time pass reference error ?!
#php_flag allow_call_time_pass_reference On

#-----------------------------------------
#- SEO Hartmut K?nig
#-----------------------------------------
#-- ! Comment this line, if you get an ERROR 500 !
#Options +FollowSymlinks

# http://httpd.apache.org/docs/misc/rewriteguide.html
RewriteEngine on

#-- Sitemap
RewriteRule ^sitemap(.*)\.html$ /shop_content.php?coID=8 [qsappend,L]

##-- Kategorien
RewriteCond %{REQUEST_URI} (.*):::([_0-9]+):([_0-9]+)\.html$
RewriteRule (.*):::([_0-9]+):([_0-9]+)\.html$ /index.php?cPath=$2&page=$3 [qsappend,L]
RewriteCond %{REQUEST_URI} (.*):::([_0-9]+)\.html$
RewriteRule (.*):::([_0-9]+)\.html$ /index.php?cPath=$2 [qsappend,L]

##-- Produkte
RewriteRule (.*)::(.+)\.html$ /product_info.php?products_id=$2 [qsappend,L]

##-- Content
RewriteRule (.*):_:([0-9]+)\.html$ /shop_content.php?coID=$2 [qsappend,L]

##-- Manufacturers
RewriteCond %{REQUEST_URI} (.*):.:([_0-9]+):([_0-9]+)\.html$
RewriteRule (.*):.:([_0-9]+):([_0-9]+)\.html$ /index.php?manufacturers_id=$2&page=$3 [qsappend,L]
RewriteCond %{REQUEST_URI} (.*):.:([_0-9]+)\.html$
RewriteRule (.*):.:([0-9]+)\.html$ /index.php?manufacturers_id=$2 [qsappend,L]


##-- Fehlerseiten auf die Sitemap lotsen
#ErrorDocument 400 /sitemap.html?error=400
#ErrorDocument 401 /sitemap.html?error=401
#ErrorDocument 402 /sitemap.html?error=402
#ErrorDocument 403 /sitemap.html?error=403
#ErrorDocument 404 /sitemap.html?error=404
#ErrorDocument 500 /sitemap.html?error=500
 
Ich habe es mal auf die RewriteRules gekürzt und die Umleitung mit eingefügt. In der Position müsste die Umleitung für Produktseiten wohl am Besten geeignet sein, natürlich ohne Last-Flag, um auch den späteren Rewrite zu gewährleisten.

CODE
# http://httpd.apache.org/docs/misc/rewriteguide.html
RewriteEngine on

#-- Sitemap
RewriteRule ^sitemap(.*)\.html$ /shop_content.php?coID=8 [qsappend,L]

##-- Kategorien
RewriteCond %{REQUEST_URI} (.*):::([_0-9]+):([_0-9]+)\.html$
RewriteRule (.*):::([_0-9]+):([_0-9]+)\.html$ /index.php?cPath=$2&page=$3 [qsappend,L]
RewriteCond %{REQUEST_URI} (.*):::([_0-9]+)\.html$
RewriteRule (.*):::([_0-9]+)\.html$ /index.php?cPath=$2 [qsappend,L]


##-- Umleiten der Produktseite
RewriteRule ^\/unterverzeichnis\/unterverzeichnis2\/Produkt::678\.html$ /unterverzeichnis/unterverzeichnis2/Produkt::189789.html [QSA]

##-- Produkte
RewriteRule (.*)::(.+)\.html$ /product_info.php?products_id=$2 [qsappend,L]


##-- Content
RewriteRule (.*):_:([0-9]+)\.html$ /shop_content.php?coID=$2 [qsappend,L]

##-- Manufacturers
RewriteCond %{REQUEST_URI} (.*):.:([_0-9]+):([_0-9]+)\.html$
RewriteRule (.*):.:([_0-9]+):([_0-9]+)\.html$ /index.php?manufacturers_id=$2&page=$3 [qsappend,L]
RewriteCond %{REQUEST_URI} (.*):.:([_0-9]+)\.html$
RewriteRule (.*):.:([0-9]+)\.html$ /index.php?manufacturers_id=$2 [qsappend,L]

 
Hallo

Vielen Dank.

Ich habe es falsch erklärt:

Die original Url lautet:

http://www.example.ch/product_info.php?products_id=1443

die wird in:

http://www.example.ch/Unterverzeichnis/Unt...dukt::1443.html

umgeschrieben.

Und neu sollte sie in: http://www.example.ch/unterverzeichnis/unt...kt::189789.html umgeschrieben werden.


CODE ##-- Umleiten der Produktseite
RewriteRule ^\/unterverzeichnis\/unterverzeichnis2\/Produkt::678\.html$ /unterverzeichnis/unterverzeichnis2/Produkt::189789.html [QSA]



Hab ich versucht klappt jedoch nicht.
Hast Du noch eine Idee?

Gruss Roman
 
Da ändert sich ja nicht viel, solange Du nur eine Seite umleiten möchtest. Man könnte natürlich auch einen Redirect erst machen.

CODE ##-- Umleiten der Produktseite
RewriteRule ^\/Unterverzeichnis\/Unterverzeichnis2\/Produkt::189789\.html$ /unterverzeichnis/unterverzeichnis2/Produkt::1443.html[QSA]

 
Jetzt funktioniert es die Antwort von Sascha wird auch richtig sein, nochmals vielen Dank, mein Webhoster hat auch folgendes gemailt womit es funktioniert:

Sie können es mittels mod_Rewrite lösen

RewriteRule ^Unterverzeichnis\/Unterverzeichnis2\/Produkt::1816\.html http://www.example.ch/Unterverzeichnis/Unt...kt::106827.html [R,L]

Ich würde diese Regel gleich nach "RewriteEngine on", vor allen andern Regeln platzieren.

Falls die Umleitung permanent sein soll, sodass Suchmaschinen die neue Seite indizieren, ist statt [R,L] besser [R=302,L] zu setzen.

Freundliche Grüsse

Netzone AG <----- Tophoster :)
 
Zurück
Oben