Autor Beitrag
wunsiedler
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 506
Erhaltene Danke: 4

Win7

BeitragVerfasst: Di 22.07.08 17:44 
Kennt sich zufällig jmd. mit diesem Thema aus? Ich probier es seit einer geraumen Zeit, aber es will nicht klappen.

Aus

www.domain.de/index....tarbeiter-referenten

will ich

www.domain.de/mitarbeiter-referenten.htm

machen.
DarkHunter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 477

Win XP
D3 Prof, D2005 PE
BeitragVerfasst: Di 22.07.08 19:06 
du brauchst einen Apache Webserver mit aktivieren mod_rewrite (in der httpd.conf nachschauen).
Der häufigste Grund warum das nicht klappt ist schlicht und ergreifend, der dass mod_rewrite deaktiviert ist.
ggf mit LoadModule rewrite_module modules/mod_rewrite.so aktivieren.

Als Nächstes muss im Verzeichnis mit der "index.php" eine ".htaccess" liegen.
ausblenden Quelltext
1:
2:
  RewriteEngine on
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]


Der Code reicht den kompletten text hinter der Adresse per Parameter an das PHP-Script weiter.

Für weitere Informationen empfehle ich: httpd.apache.org/doc...mod/mod_rewrite.html

_________________
I believe that every human has a finite number of heart-beats. I don't intend to waste any of mine running around doing exercises.
- Neil Armstrong
wunsiedler Threadstarter
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 506
Erhaltene Danke: 4

Win7

BeitragVerfasst: Di 22.07.08 19:23 
mod_rewrite ist aktiv. leider kommt bei deinem beispiel nur fehler 403 forbidden. bei anderen versuchen kam fehler 500. habe schon einiges ausprobiert.

bei dem cms welches ich verwende ist folgendes dabei:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
#php_flag magic_quotes_gpc Off
#php_flag register_globals Off
#php_flag session.use_trans_sid Off

# Make sure you have Options FollowSymLinks
# and Allow on
RewriteEngine On

#Rewrites page.shtml as index.php?page
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteRule ^(.+)$ index.php?page=$1 [QSA]


welches aber auch nicht funktioniert.

mit den regulären ausdrücken komm ich irgendwie auch nicht zurecht.
DarkHunter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 477

Win XP
D3 Prof, D2005 PE
BeitragVerfasst: Mi 23.07.08 14:05 
ich hatte mein Beispiel nur aus dem Kopf aufgeschrieben und nicht weiter geprüft. Sollte nur als Anreiz sein, hätte ich erwähnen müssen, sorry.

Also folgende .htaccess funktioniert bei mir auf meinem lokalen Webserver
ausblenden Quelltext
1:
2:
3:
4:
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(.*)$ index.php?q=$1 [QSA,L]
</IfModule>


Der verwendete RegEx ist einfach erklärt
^ bedeutet Beginn des String
$ ist Ende des String
. ist ein Beliebiges Zeichen
* bedeutet die unendliche Wiederholung des vorhergegangenen Zeichens (in diesem Fall der ".")
Die Klammer legen den Wert in in der Variable $1 ab
Der RegEx schreibt also alle Zeichen vom Anfang bis zum Ende des Strings in die Variable 1.

Das Tutorial auf Regenechsen.de finde ich sehr gut verständlich, wenn man RegEx verstehen will.

_________________
I believe that every human has a finite number of heart-beats. I don't intend to waste any of mine running around doing exercises.
- Neil Armstrong
wunsiedler Threadstarter
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 506
Erhaltene Danke: 4

Win7

BeitragVerfasst: Mi 23.07.08 14:26 
Seh ich das richtig?

Deine htaccess macht aus

www.domain.de/seite.htm --> www.domain.de/index.php?p=/seite.htm

Ich habe die einfachsten Skripte gestern noch probiert. Aber jedesmal kam nur 403 Forbidden. Das sagt mir doch zumindest, dass mod_rewrite aktiviert ist, oder?
Tilman
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1405
Erhaltene Danke: 51

Win 7, Android
Turbo Delphi, Eclipse
BeitragVerfasst: Mi 23.07.08 14:28 
Es gibt da auch noch das mod_rewrite-Forum... wenn man lieb fragt helfen sie einem dort auch www.modrewrite.de/

_________________
Bringe einen Menschen zum grübeln, dann kannst du heimlich seinen Reis essen.
(Koreanisches Sprichwort)
DarkHunter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 477

Win XP
D3 Prof, D2005 PE
BeitragVerfasst: Mi 23.07.08 16:49 
user profile iconwunsiedler hat folgendes geschrieben:
Seh ich das richtig?

Deine htaccess macht aus

www.domain.de/seite.htm --> www.domain.de/index.php?p=/seite.htm

fast : www.domain.de/index.php?q=seite.htm ; der Slash ist nicht dabei ;)

user profile iconwunsiedler hat folgendes geschrieben:

Ich habe die einfachsten Skripte gestern noch probiert. Aber jedesmal kam nur 403 Forbidden. Das sagt mir doch zumindest, dass mod_rewrite aktiviert ist, oder?

Nicht zwangsläufig, Error 403 heißt nur das nicht die erforderlichen Rechte vorhanden sind, die Seite anzuzeigen.

Achja, es ist wichtig, dass der Link auch die Domain enthält, also nicht nur
<a href="link.htm">Link</a>
sondern
<a href="www.domain.de/link.htm">Link</a>

_________________
I believe that every human has a finite number of heart-beats. I don't intend to waste any of mine running around doing exercises.
- Neil Armstrong
wunsiedler Threadstarter
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 506
Erhaltene Danke: 4

Win7

BeitragVerfasst: Mi 23.07.08 17:08 
ähhh...links sehen alle so aus: www.domain.de/index.php?page=XYZ da lässt sich nix dran ändern.

modrewrite soll ja daraus "statische" links machen in der form www.domain.de/XYZ.htm.
so war das gedacht.
DarkHunter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 477

Win XP
D3 Prof, D2005 PE
BeitragVerfasst: Mi 23.07.08 19:34 
ich glaube du hast etwas falsch verstanden (oder ich)

Die Links, die du auf deiner Seite setzt, die müssen www.domain.de/link.htm lauten.
mod_rewrite kümmert sich dann darum, dass intern alles auf www.domain.de/index.php?link=link.htm umgeschrieben wird.
Sprich, auf deiner Seite sind statische Links. Damit die aber dynamisch behandelt werden können gibt es mod_rewrite.

Wenn du also deine Links nicht ändern kannst, dann hilft dir auch mod_rewrite nicht.

_________________
I believe that every human has a finite number of heart-beats. I don't intend to waste any of mine running around doing exercises.
- Neil Armstrong
wunsiedler Threadstarter
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 506
Erhaltene Danke: 4

Win7

BeitragVerfasst: Mi 23.07.08 19:39 
In Erklärungen zu modrewrite geht es auch darum, aus dynamischen Links (index.php?p=xyz) für die Suchmaschinenoptimierung statische Links zu generieren (xyz.htm oder index.htm/xyz). Dabei bleiben die dyn. Links so wie sie sind. In einem CMS sind sie ja immer dynamisch und ich kann und will sie nicht umstellen.

So sehe ich das und das ist mein Ziel. In vielen CMS's und Blogs (z.B. WordPress) funktioniert das so.


---------------------------------------
Edit: Ich Rindvieh! Lesen bildet, aber die Dokumentation lässt man ja links liegen. Bei der Option "pretty url's" von false auf true und schon ist die Sache erledigt, auch ohne modrewrite.

Trotzdem danke für die Bemühungen.