Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Forum > Webkatalog > mod_rewrite > DC-Problem?

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
Malte Landwehr
PostRank 10
PostRank 10
Beiträge: 3474
Registriert: 22.05.2005, 10:45

Beitrag von Malte Landwehr » 23.03.2006, 12:17

Hi

Auf domain.de lief mal ein phpBB.
Davon sind Seiten wie /ftopic545.html, /viewforum.php?f=29, /viewtopic.php?p=29480 und /archive/o_f__f_42__flohmarkt.html im Index.
Insgesammt etwa 14.500 Seiten.

Heute läuft ein Webkatalog (php LD v2) auf der Domain und wenn ich jetzt domain.de/archive/o_f__f_42__flohmarkt.html (oder eine andere Seite) aufrufe, wird immer die Startseite des Webkatalogs angezeigt.

Das müsste natürlich DC ergeben.
Daher habe ich per Robots.txt sachen wie viewforum.php oder /archive/ gesperrt.
Aber wie mache ich das mit den ftopic sachen?
Wenn da jetzt steht:

Code: Alles auswählen

Disallow: /ftopic
Werden dann auch wirklich alle Seiten, wie /ftopic545.html mit der Zeit aus dem Index verschwinden? Lässt sich das irgendwie mit der URL-Lösch-Konsole machen (habe damit noch nie gearbeitet), ohne alle URLs per Hand einzulesen?

Achja, die .htaccess sieht momentan so aus:

Code: Alles auswählen

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule .* index.php [QSA,L] 
Das mod_rewrite des Forum sah so aus:

Code: Alles auswählen

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} /forums.html
RewriteRule (.*) /index.php [L]

RewriteCond %{REQUEST_FILENAME} /viewforum([0-9]*)-([0-9]*)-([0-9]*).html
RewriteRule (.*) /viewforum.php?f=%1&topicdays=%2&start=%3 [L]

RewriteCond %{REQUEST_FILENAME} /forum([0-9]*).html
RewriteRule (.*) /viewforum.php?f=%1 [L]

RewriteCond %{REQUEST_FILENAME} /ptopic([0-9]*).html
RewriteRule (.*) /viewtopic.php?t=%1&view=previous [L]

RewriteCond %{REQUEST_FILENAME} /ntopic([0-9]*).html
RewriteRule (.*) /viewtopic.php?t=%1&view=next [L]

RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*)-([0-9]*)-([a-zA-Z]*)-([0-9]*).html
RewriteRule (.*) /viewtopic.php?t=%1&postdays=%2&postorder=%3&start=%4 [L]

RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*)-([0-9]*).html
RewriteRule (.*) /viewtopic.php?t=%1&start=%2 [L]

RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*).html
RewriteRule (.*) /viewtopic.php?t=%1 [L]

RewriteCond %{REQUEST_FILENAME} /ftopic([0-9]*).html
RewriteRule (.*) /viewtopic.php?t=%1&start=%2&postdays=%3&postorder=%4&highlight=%5 [L]
Kann man das irgendwie abändern, dass bei einem entsprechenden Aufruf nicht weitergeleitet wird, sondern eine "deleted"-Meldung oder soetwas erscheint?

Gruß
nX
Die 45 wichtigsten SEO-Tools und wie ich sie nutze.

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


marc75
PostRank 9
PostRank 9
Beiträge: 1916
Registriert: 06.10.2004, 09:36

Beitrag von marc75 » 23.03.2006, 13:30

mach doch ein [R=301] auf die Index

gunnar
PostRank 4
PostRank 4
Beiträge: 125
Registriert: 09.08.2003, 07:54

Beitrag von gunnar » 23.03.2006, 15:58

Hi -=nX=-

Das mod_rewrite bei PHPLD ist wirklich eine Katastrophe.
Wenn du nicht allzu viele Kategorien hast, ist dies vielleicht die Lösung:
https://www.phplinkdirectory.com/forum/ ... php?t=1795

Gruss gunnar

Malte Landwehr
PostRank 10
PostRank 10
Beiträge: 3474
Registriert: 22.05.2005, 10:45

Beitrag von Malte Landwehr » 23.03.2006, 16:25

marc75 hat geschrieben:mach doch ein [R=301] auf die Index
Wie genau muss die Regel dann lauten?


@Gunnar:
Das Teil muss ich mir mal anschauen.
Die 45 wichtigsten SEO-Tools und wie ich sie nutze.

Chris2005
PostRank 9
PostRank 9
Beiträge: 1284
Registriert: 14.04.2005, 23:58

Beitrag von Chris2005 » 23.03.2006, 16:54

gunnar hat geschrieben:Das mod_rewrite bei PHPLD ist wirklich eine Katastrophe
In der Tat. Habe leider im Moment keinen Zugriff auf meine .htaccess, aber fuer jede Kategorie muss der Redirect separat definiert werden. Ist etwas umstaendlich, aber bisher habe ich noch keine andere Loesung gefunden.

Ich poste den relevanten Code heute abend.

Der .htaccess Rewriter funktioniert nur insofern, dass die Top-Level Rubriken "sauber" definiert werden. Rufst Du aber z.b. www.domain.de/rubrik1/muell auf, kommt trotzdem die index.

Gruss
Chris

Caterham
PostRank 5
PostRank 5
Beiträge: 329
Registriert: 20.09.2004, 19:12

Beitrag von Caterham » 23.03.2006, 19:41

Rufst Du aber z.b. www.domain.de/rubrik1/muell auf, kommt trotzdem die index.
Prüfe in deinem Script die Gültigkeit der URL. Ist sie ungültig, kannst du ja den Statuscode 404 zurückgeben. Das ist wesentlich sinnvoler als 100+ RewriteRules mit top-level Rubriken.
.htaccess Rewriter
Dass die Conditions sich nur auf die 1. Regel beziehen können, da sie erst nach der RewriteRule geprüft werden, scheint dem Programmierer dort unbekannt gewesen zu sein....

Chris2005
PostRank 9
PostRank 9
Beiträge: 1284
Registriert: 14.04.2005, 23:58

Beitrag von Chris2005 » 23.03.2006, 21:00

Caterham hat geschrieben:
Rufst Du aber z.b. www.domain.de/rubrik1/muell auf, kommt trotzdem die index.
Prüfe in deinem Script die Gültigkeit der URL. Ist sie ungültig, kannst du ja den Statuscode 404 zurückgeben. Das ist wesentlich sinnvoler als 100+ RewriteRules mit top-level Rubriken.
Richtig, dafuer muss man aber erstmal in die smarty bzw. php Programmierung einsteigen. Da es aber bei php bzw erst recht smarty hakt, ist die Umsetzung ueber mod-rewrite leichter und schneller.

Gruss
Chris

Chris2005
PostRank 9
PostRank 9
Beiträge: 1284
Registriert: 14.04.2005, 23:58

Beitrag von Chris2005 » 24.03.2006, 02:39

Anbei die .htaccess

Code: Alles auswählen

#Toplevel Rewrite
RewriteCond %{REQUEST_URI} ^/cat1$
RewriteRule ^.* /cat1/ [R=301,L]
RewriteCond %{REQUEST_URI} ^/cat1/$
RewriteRule ^.* /index.php [L]

#subcat1
RewriteCond %{REQUEST_URI} ^/cat1/subcat1$
RewriteRule ^.* /cat1/subcat1/ [R=301,L]
RewriteCond %{REQUEST_URI} ^/cat1/subcat1/$
RewriteRule ^.* /index.php [L]
Umstaendlich, aber funktioniert.

Gruss
Chris

Caterham
PostRank 5
PostRank 5
Beiträge: 329
Registriert: 20.09.2004, 19:12

Beitrag von Caterham » 24.03.2006, 13:37

Umstaendlich
Warum nutzt du Conditions? Jeder Request rennt in deine RewriteRule und bricht dann erst in der COndition ab.
Die Prüfungsreihenfolge ist ^.* von der RewriteRule und dann erst die Condition.

Ein

Code: Alles auswählen

RewriteEngine on
# trailing slash fix, Link s. unten

RewriteRule ^cat1/$ /index.php [L]
RewriteRule ^cat1/subcat1/$ /index.php [L]
in Verbindung mit einem Trailing slash fix wäre effizienter.

Chris2005
PostRank 9
PostRank 9
Beiträge: 1284
Registriert: 14.04.2005, 23:58

Beitrag von Chris2005 » 24.03.2006, 16:30

Muss ich mal ausprobieren ... Meine mod_rewrite Kentnisse sind nicht besonders dolle. Daher die Frickel-Version...

Malte Landwehr
PostRank 10
PostRank 10
Beiträge: 3474
Registriert: 22.05.2005, 10:45

Beitrag von Malte Landwehr » 24.03.2006, 18:15

Vielen Dank Chris.
Werde die neuen rewrite-Rules ausprobieren, sobald ich wieder zu Hause bin.
Die 45 wichtigsten SEO-Tools und wie ich sie nutze.

Malte Landwehr
PostRank 10
PostRank 10
Beiträge: 3474
Registriert: 22.05.2005, 10:45

Beitrag von Malte Landwehr » 25.03.2006, 21:39

Sorry, für den Doppelpost aber ich komme mit Chris Code nicht ganz klar.

Muss ich den jetzt für jede einzelne Kategorie editieren?
Wenn ja, könnte mit jemand erklären, wie genau ich den Code jeweils abändern muss?
Die 45 wichtigsten SEO-Tools und wie ich sie nutze.

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag