tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
0
ZUGRIFFE
494
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    aGeNET aGeNET ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    113
    Hallo, ich hoffe ich bin hier im richtigen Unterforum gelandet.

    In unserer Software nutzen wir mod_rewrite um suchmaschinenfreundliche URLs nutzen zu können, allerdings werden aus irgendeinem Grund (den ich nicht nachvollziehen kann) die entsprechenden Requests doppelt abgesetzt (getestet mit Httpfox), wenn so eine URL aufgerufen wird. Die doppelten Requests sind so normal nicht zu bemerken, ziehen aber mehrere Nachteile nach sich:
    - unnötige Requests, die die Serverlast erhöhen
    - Facebook-Like-Button meckert rum "Du musst die Anzahl von Weiterleitungen für diese URL reduzieren"

    Zunächst die .htaccess:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    
    Options +FollowSymLinks -Indexes
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /dir1/dir2/
     
    # www Redirect
    RewriteCond %{HTTP_HOST} ^example.com [NC]
    RewriteRule ^(.*) http://www.example.com/dir1/dir2/$1 [R=301,L]
     
    # Rewrite v1.5
    RewriteRule ^(.*)-p-([0-9]+)\.html$ store-products.php?products_id=$2&checkid=on [L,QSA]
    RewriteRule ^(.*)-c-([0-9_]+)\.html$ index.php?cPath=$2&checkid=on [L,QSA]
    RewriteRule ^(.*)-m-([0-9]+)\.html$ index.php?manufacturers_id=$2&checkid=on [L,QSA]
    RewriteRule ^(.*)-k-([0-9]+)\.html$ store-cms.php?cID=$2&checkid=on [L,QSA]
     
    # Rewrite v2
    RewriteCond %{REQUEST_URI} .*/admin/.*
    RewriteRule ^.+ - [L]
     
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.+ - [L]
     
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^.+ - [L]
     
    RewriteCond %{REQUEST_FILENAME} -l
    RewriteRule ^.+ - [L]
     
    #CMS
    RewriteRule ^cms/(.+/)?([^\/]+)\.html store-cms.php?seo=$2&seo_c=$1 [L,QSA]
     
    #MANUFACTURER
    RewriteRule ^manufacturer/(.+/)?([^\/]+)\.html index.php?seo=$2&seo_c=$1&manu_detect=1 [L,QSA]
     
    #PRODUCTS
    RewriteRule ^(.*/)?([^\/]+)\.html store-products.php?seo=$2&seo_c=$1 [L,QSA]
     
    #CATEGORIES
    RewriteRule ^(.*/)?([^\/\.]+)/?$ index.php?seo=$2&seo_c=$1 [L,QSA]
    </IfModule>

    Rewrite v1.5 stellt die Kompatibilität zu alten URLs her, die dann intern per PHP-Header entweder mit 301 oder 404 abgehandelt werden.

    Als Beispiel für die CMS-Regel unter Rewrite v2:
    Code :
    1
    2
    
    http://www.example.com/dir1/dir2/cms/impressum.html
    http://www.example.com/dir1/dir2/cms/software/informationen.html
    sollen umgeschrieben werden zu:
    Code :
    1
    2
    
    http://www.example.com/dir1/dir2/store-cms.php?seo=impressum&seo_c=
    http://www.example.com/dir1/dir2/store-cms.php?seo=informationen&seo_c=software/

    Hat jemand eine Idee, woher die doppelten Requests kommen? An den PHP-Skripten liegt es nicht. Das wurde getestet, indem ich als erste Zeile ein die() geschickt habe - es findet also keinerlei verarbeitung statt.

    Mfg aGeNET

    edit:
    Habe die Lösung noch etlichem hin und her selbst gefunden:
    Das ^ am Anfang der RewriteRule hat die doppelten Requests verursacht.
    Geändert von aGeNET (06.05.11 um 13:33 Uhr) Grund: Thema erledigt
     

Ähnliche Themen

  1. WebService Request mit Umlaute/Sonderzeichen -> Bad Request
    Von StehtimSchilf im Forum .NET Web und Kommunikation
    Antworten: 4
    Letzter Beitrag: 19.02.10, 12:23
  2. doppelter split()
    Von speicher im Forum PHP
    Antworten: 1
    Letzter Beitrag: 11.03.05, 02:14
  3. doppelter link
    Von Powerleffe im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 31.10.03, 13:37
  4. Doppelter Datensatzeintrag...
    Von ~SpArGs~ im Forum PHP
    Antworten: 0
    Letzter Beitrag: 26.09.02, 02:29

Stichworte