Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » Frage zu PHP-Navigation Antworten
Frage zu PHP-Navigation

michael
Foren-Team


Beiträge: 1933


auf 4websites.de habe ich es so gelöst, dass die seiten die von suchmaschinen erfasst werden sollen eine manipulierte url haben /news/artikel/67 (ist auch eine dynamische seite - den ordner gibt es nicht) und die die nicht unbedingt von suchmaschinen erfasst werden sollen im ?-stil gelassen (z.b. drucken.php?id=324)


  Profil   Editieren   Zitieren

[SpecFor]crusher
Otto-Normal-Poster


Beiträge: 97


hm und wie erstellt man diese verzeichnisse dann?

  Profil   E-Mail   Website   Editieren   Zitieren

slackerbitch
Otto-Normal-Poster


Beiträge: 69



  Profil   Website   Editieren   Zitieren

m3rlin
Quasselstrippe


Beiträge: 264


eleganter und meiner Meinung nach einfacher gehts mir URL-Rewriting

siehe http://httpd.apache.org/docs/mod/mod_rewrite.html

---
Webspace Preisvergleich Server Preisvergleich

  Profil   Editieren   Zitieren

einstein
Quasselstrippe


Beiträge: 241


also auf deutsch: ;)

RewriteEngine on
RewriteRule ^seite_(.*).html$ seite.php?id=$1


Ergebnis:
eine Seite die du normalerweise mit seite.php?id=[zahl] aufrufst, ist ab sofort auch über seite_[zahl].html zu erreichen und dann zu allen Suchmaschinen kompatibel.


  Profil   Editieren   Zitieren

m3rlin
Quasselstrippe


Beiträge: 264


URL-Rewriting ist ein fettes Thema und läßt sich leider nicht in ein paar Zeilen abhandeln. Deshalb mein Link zur Apache-Doku.

Man verzeihe mir meine Wortkargheit und möge sie nicht als Überheblichkeit mißverstehen *ascheaufshauptstreu*


---
Webspace Preisvergleich Server Preisvergleich

  Profil   Editieren   Zitieren

einstein
Quasselstrippe


Beiträge: 241


Ich hab das nur mal kurz auf "deutsch" hingeschrieben, weils bei mir ewig gedauert hat bis ich das gerafft hab ;)

  Profil   Editieren   Zitieren

Bastian_W
Otto-Normal-Poster


Beiträge: 85



Michael schrieb am 2002-07-07 20:32 :
auf 4websites.de habe ich es so gelöst, dass die seiten die von suchmaschinen erfasst werden sollen eine manipulierte url haben /news/artikel/67 (ist auch eine dynamische seite - den ordner gibt es nicht) und die die nicht unbedingt von suchmaschinen erfasst werden sollen im ?-stil gelassen (z.b. drucken.php?id=324)


Kann mir mal jemand erklären wie das geht? Das mod_rewite ist bei mir leider nicht in Apatche drinn




---
Bastian_W
------
Real programmers don't comment their code. It was hard to write, so it should be hard to read.

  Profil   Editieren   Zitieren

einstein
Quasselstrippe


Beiträge: 241


in die .htaccess muss der dateiname (ohne Endung) (später dann Ordnername) rein:

<Files dateiname>
ForceType application/x-httpd-php
</Files>

und dann in den header der datei ohne Endung:

$url=explode("/",$REQUEST_URI);
$artikelid = $url[2];

Der Array Artikel enthält die nach /es aufgeteilte $REQUEST_URI. Der Index [2] ist es nur dann 2 wenn die Struktur so ausschaut:
http://www.domain.tld/dateiname/123

So müsste das gehen



  Profil   Editieren   Zitieren

Bastian_W
Otto-Normal-Poster


Beiträge: 85


Hm... also so klappt das nicht :(

Kannst du das vielleicht etwas genauer erklären?

---
Bastian_W
------
Real programmers don't comment their code. It was hard to write, so it should be hard to read.

  Profil   Editieren   Zitieren

einstein
Quasselstrippe


Beiträge: 241



Bastian_W schrieb am 2002-12-20 13:27 :
Hm... also so klappt das nicht :(

doch


Kannst du das vielleicht etwas genauer erklären?


gerne.

Um zu erreichen, dass man einen Newsartikel, den man vorher per news.php?newsid=123 aufgerufen hat jtzt per news/123 aufzurufen muss man folgendes machen:
1. die bisherige datei news.php in news umbenennen
2. per htaccess "news" als mit php auszuführende Datei deklarieren:
.htaccess file:
1: 
2: 
3: 
4: 
5:
<Files news> 
ForceType application/x-httpd-php 
</Files> 

sowird durch /news die ehemalige news.php aufgerufen.
3. Slashes hinter dem /news/ werden beim aufrufen der Datei ignoriert, nicht aber in der PHP-Variablen $REQUEST_URI, daher wird im Kopf der Datei "news" genau diese Variable ausgelesen und per explode anhand der Slashed auseinandergenommen. Der letzte Bereich des Arrays, der duch explode erzeugt wird, ist dabei die id des Newseintrags:
1: 
2: 
3: 
4:
$url=explode("/",$REQUEST_URI); 
$newsid = $url[2]; 


Bei der Zählung der Variablen $url wird bei 0 angefangen:
0 -> http://www.domain..
1 -> news
2 -> newsid

So ist es vielleicht ein wenig verständlicher.

  Profil   Editieren   Zitieren

Bastian_W
Otto-Normal-Poster


Beiträge: 85


Hey... Danke gleich mal einbasteln

---
Bastian_W
------
Real programmers don't comment their code. It was hard to write, so it should be hard to read.

  Profil   Editieren   Zitieren

Bastian_W
Otto-Normal-Poster


Beiträge: 85


Hm,
klappt leider nicht...

irgendwie klappt das leider nicht... die Seite wird nicht aufgerufen... und die Bilder bzw Grafiken werden auch nicht angezeigt

---
Bastian_W
------
Real programmers don't comment their code. It was hard to write, so it should be hard to read.

  Profil   Editieren   Zitieren

einstein
Quasselstrippe


Beiträge: 241



irgendwie klappt das leider nicht... die Seite wird nicht aufgerufen... und die Bilder bzw Grafiken werden auch nicht angezeigt


Muss funktionieren.

Auf jeden Fall musst du die Struktur des Beispiels beachten und ggf. den Array-Index erhöhen. Die Bilder der Dateien können dann auch nicht mehr relativ eingebunden werden sondern entweder per /.../ oder per http:.

  Profil   Editieren   Zitieren

Bastian_W
Otto-Normal-Poster


Beiträge: 85


Achso... relativ einbinden ist nicht mehr .... ich denke mal, die HTML Datein kann ich dann auch nicht mehr Relativ einbinden???

Würde erklären, wieso das nicht klappt! Shit... muß ich das ganze Script ummodden

Aber trotzdem schonmal danke! Werde die Seite dann mal ändern.

---
Bastian_W
------
Real programmers don't comment their code. It was hard to write, so it should be hard to read.

  Profil   Editieren   Zitieren
Seite 1 | 2 | 3  

Antworten
Nach oben