Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

mod_rewrite und wie sehen das Suchmaschinen?

Empfohlene Antworten

Veröffentlicht

Hallo zusammen!

Ich bin Anfänger was mod_rewrite betrifft, habe aber eine gut funktionierende htaccess Datei, die meinen Anforderungen genügt, schreiben können.

Nun meine Frage: Wie genau funktioniert das eigentlich mit den Suchmaschinen?! Wie muss ich mir das vorstellen?!

Also ich meine, wenn z.Bsp. der Google Bot auf meine Seite kommt, dann geht er ja zunächst mal (in meinem Falle) auf die index.php. Und was macht er dann? Er kuckt sich die Links an (z.Bsp. index.php?id=seite2&action=anzeigen) ...

zu welchem Zeitpunkt kommen meine mod_rewrite Regeln denn ins Spiel?!

Vielleicht kann mir hier jemand weiterhelfen ... ich stehe nämlich auf dem Schlauch, bzw. hab keine Ahnung wie das mit den Suma-Bots aussieht ...

Danke vorab! ;)

wichtig zu nennen wären in zusammenhang mit suchmaschinen-bots zwei technologien:

robots-dateien

User-agent: BadBot

Disallow: /

http://www.robotstxt.org/wc/robots.html

und meta-tags

<meta name="robots" content="index,follow">

<meta name="robots" content="noindex,follow">

<meta name="robots" content="index,nofollow">

<meta name="robots" content="noindex,nofollow">

http://www.htmlhelp.com/reference/html40/head/meta.html

diese werden von den meisten crawlern ausgewertet und halten sich in der regel auch daran.

die regeln kommen dann ins spiel, wenn eine der definierten conditions eintreffen oder eine eine übereinstimmung in der rewritemap zutrifft. dann wird die rewriterule angewandt.

beispiel:

# blocken von bot auf basis seines namens

RewriteCond %{HTTP_USER_AGENT} ^MeinBoeserBot.*

# blocken von bot auf basis seiner ip

RewriteCond %{REMOTE_ADDR} ^123\.45\.67\.[8-9]$

# verbiete (F) zugang zum verzeichnis /bla/bla/schasquastl

RewriteRule ^/bla/bla/schasquastl/.+ - [F]

ein howto zum apache-modul mod_rewrite, noch ein anderes.

hoffe ich hab das nicht zu umständlich erklärt :)

s'Amstel

  • Autor

Ja, aber das war nicht ganz meine Frage. Meine Frage ist dahingegehend dass ich gerne verstehen möchte, wieso mod_rewrite eine sinnvolle Geschichte hinsichtlich Suchmaschinenoptimierung einer Webseite ist.

Ich habe Regeln angewandt, dass z.Bsp. index.php?id=meineseite&action=anzeigen in was einfaches wie meineseite,anzeigen.html umgewandelt wird.

Das funktioniert auch einwandfrei (ich habe zum Test einfach 'meineseite,anzeigen.html' aufgerufen).

Nur wie "sehen" die Suchmaschinen-Bots das? Wie genau crawlen die meine Seite anhand dieser "generierten" HTML-Seiten?! Wie werden Links weiterverfolgt ...

Nur wie "sehen" die Suchmaschinen-Bots das? Wie genau crawlen die meine Seite anhand dieser "generierten" HTML-Seiten?! Wie werden Links weiterverfolgt ...

Von sich aus garnicht. Wenn eine RewriteCondition funktioniert, gibst du anstatt index.php?id=meineseite&action=anzeigen als Link bei <a> meineseite,anzeigen.html an.

Nur wie "sehen" die Suchmaschinen-Bots das? Wie genau crawlen die meine Seite anhand dieser "generierten" HTML-Seiten?! Wie werden Links weiterverfolgt ...

Suchmaschienen nutzen keine Parameter in URLs um Links zu folgen. Wenn du also deinen ganzen Auftritt nur über die index.php und PArameter steuerst, sieht ein Robot nur die Startseite und kommt mit jedem Link wieder zu der zurück. Ein Link wird dann SEF (Search Engine Friendly) wenn er keine Parameter enthält, also keine "sichtbaren". Dein Link enthält ja auf den ersten Blick keine Parameter, die werden ja erst auf dem Server direkt bevor die Anfrage an den Webserver geht wieder herausgelöst.

Eine ähnliche Möglichkeit geht auch ohne mod_rewrite. Ich habe z.B. eine Funktion in PHP geschrieben, die die aufgerufene URL auseinanderpflückt. also ähnlich wie mod_rewrite, nur erst auf dem Webserver, aber halt ohne mod_rewrite.

Das geht, weil der Aufrug von http://meinServer.tld/index.php/parameter1,Wert1/Parameter2,Wert2/

trotz dass er nicht so aussieht die Seite index.php aufruft. Als erster Befehl wird dort die URL untersucht und dort werden die Parameter ganz "normal" in das Get_Array geschrieben, also $_GET["parameter1"] = Wert1 etc.

Dann kann ganz normal im PHP damit weitergemacht werden.

Wie gebe ich das an? Wie genau sieht die Befehlszeile aus?

Wie machen das denn die ganzen Foren, von denen man Threads in Suchmaschinen findet (z.B. www.irgendeinforum.de/thread,1,post,12.html) ?????

Die machen das über mod_rewrite. Die URL wird, bevor sie an den Webserver geleitet wird durch dieses "umgewandelt". Die genaue Zeile kann ich dir nicht aufschreiben, aber aus der obigen URL kann z.B. irgendeinforum.de/index.php?param1=thread&param2=1&param3=post werden. Du kannst die komplette URL überschreiben (rewrite=umschreiben), ohne das jemand ausserhalb des Servers entwas davon mitbekommt.

  • Autor

Ja, meine mod_rewrite habe ich fertig und die funktioniert jetzt genauso wie ich das wollte.

also

"index.php?id=meineseite&parameter1=aaa&parameter2=bbb"

wird zu

meineseite,aaa,bbb.html

also sehr suchmaschinenfreundlich.

Was ich jetzt aber noch nicht herausgehört habe, ist, wie ich den Suchmaschinen nun beibringe, dass ich solche optimierten URLs wie z.Bsp. meineseite,aaa,bbb.html habe? Ich möchte, dass Google diese auch so indexiert, eben wie es viele Foren auch haben ...

Was ich jetzt aber noch nicht herausgehört habe, ist, wie ich den Suchmaschinen nun beibringe, dass ich solche optimierten URLs wie z.Bsp. meineseite,aaa,bbb.html habe? Ich möchte, dass Google diese auch so indexiert, eben wie es viele Foren auch haben ...

Google nimmt die URLs, die es findet. Also um das Google "beizubringen" müssen alle deine Links auf der Seite diesem Muster entsprechen, sonst bringt das alles nix. Der Robot wandelt nix um, der nimmt was er findet.

  • Autor

Hm.... aber wie machen es dann die Foren? Wenn man als normaler User direkt da drauf geht, findet man doch nirgendswo einen Link wie z.B. "www.meinforum.de/index,thread,1,post,2.html"

:confused:

es muss doch eine funktionierende Methode geben ...

Hm.... aber wie machen es dann die Foren? .

Welches Forum denn z.B.? Also wenn du dir einen SpiegelOnline Link ansiehst sieht der folgendermassen aus:

http://www.spiegel.de/panorama/0,1518,364220,00.html

Das sieht auch sehr nach mod_rewrite aus.

Welches Forum denn z.B.? Also wenn du dir einen SpiegelOnline Link ansiehst sieht der folgendermassen aus:

http://www.spiegel.de/panorama/0,1518,364220,00.html

Das sieht auch sehr nach mod_rewrite aus.

genau, das ist die rewriterule für Vignette StoryServer *g*

auszug aus so einer rule:

RewriteRule ^/panorama$ /panorama/ [R]

RewriteRule ^/panorama/$ /panorama/0,1518,364220,00.html [PT]

s'Amstel

Was ich jetzt aber noch nicht herausgehört habe, ist, wie ich den Suchmaschinen nun beibringe, dass ich solche optimierten URLs wie z.Bsp. meineseite,aaa,bbb.html habe? Ich möchte, dass Google diese auch so indexiert, eben wie es viele Foren auch haben ...

Die Änderungen die Du gemacht hast, werden in den Google-Suchergebnissen erst sichtbar, wenn der Robot von Google deine Seite das nächste mal Indiziert.

Gruß,

Markus

  • Autor
Die Änderungen die Du gemacht hast, werden in den Google-Suchergebnissen erst sichtbar, wenn der Robot von Google deine Seite das nächste mal Indiziert.

Gruß,

Markus

Ja, aber weil oben gesagt wurde, dass Google diese "modifizierten" URLs gar nicht sieht ....

Ja, aber weil oben gesagt wurde, dass Google diese "modifizierten" URLs gar nicht sieht ....

Google sieht nur die URLs, die auf deinen Seiten liegen. Also die "maskierten" URLs (mit Komma und so). Erst auf dem Server wird daraus ja wieder eine "normale" URL gemacht und an den Webserver weitergegeben, wie wenn die normale URL auf deiner Seite gestanden hätte, was sie aber nicht hat.

  • 2 Monate später...

Hallo Leute,

Ich versuche schon einige Zeit mein mod_rewrite zum laufen zu bringen, aber leider wandelt das folgende Script meine URLs nicht um.


Options -MultiViews

RewriteEngine on

RewriteCond %{REQUEST_URI} news/(.*)\.html$

RewriteRule news/(.*)\.html$ /news.php?id=$1


Dieser Code befindet sich in einer .htaccess- Datei und liegt im Selben verzeichnis wie die index.php meiner Page.

Teste ich aber einen Passwort-Schutz mit .htaccess funktioniert es.

Hat jemand einen Tip?

Vielen Dank schonmal.

Du hast einen Apache Webserver und das mod_rewrite modul ist auch geladen?

Jawohl:

Apache Webserver,

mod_rewrite geladen,

Es müsste doch (theoretisch) alle Aufrufe von --news.php?id="igendeineID"-- in

--/news/irgendeineID.html-- umwandeln.

Ich glaub, ich steh auf dem Schlauch :hells:

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.