mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 25.04.2024 14:51 Benutzername: Passwort: Auto-Login

Thema: [mod rewrite] url suchmaschinenfreundlich umschreiben vom 25.06.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [mod rewrite] url suchmaschinenfreundlich umschreiben
Seite: 1, 2  Weiter
Autor Nachricht
ZeroFlash
Threadersteller

Dabei seit: 11.02.2005
Ort: -
Alter: 41
Geschlecht: Männlich
Verfasst Mo 25.06.2007 22:38
Titel

[mod rewrite] url suchmaschinenfreundlich umschreiben

Antworten mit Zitat Zum Seitenanfang

also ich befass mich jetzt schon seit ner gewissen zeit mit mod rewrite aber irgendwie funktioniert meine rewriterule einfach nicht

bzw ich bin zu blöd... ka

mal ein bissel code

index.php
Code:

<html>
<a href="index.php?navi=home">home</a>
<a href="index.php?navi=leistungen">leistungen</a>
<?php
switch ($_REQUEST['navi']) {
   case home:
   include (sprintf('home.txt'));
   break;
   case leistungen:
   include (sprintf('leistungen'));
   break;
}
?>
</html>


und jetzt noch von der .htaccess

Code:

Options +FollowSymLinks
RewriteEngine on

Rewriterule ^(.*)\.html$ /index.php?navi=$1 [L]


ja aber da geht rein gar nix. möcht einfach nur, dass statt index.php?navi=home

zb home.html oder so in der art in der adressleiste steht und somit
die seite suchmaschinenfreundlicher wird.
  View user's profile Private Nachricht senden
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 25.06.2007 23:04
Titel

Antworten mit Zitat Zum Seitenanfang

Du musst natürlich auch die Hyperlinks entsprechend ändern.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
ZeroFlash
Threadersteller

Dabei seit: 11.02.2005
Ort: -
Alter: 41
Geschlecht: Männlich
Verfasst Di 26.06.2007 10:12
Titel

Antworten mit Zitat Zum Seitenanfang

und wie sollen die dann aussehen?
hatte meine links schon mal zum test auf home.html umgeändert... aber im endeffekt ist dann nichts mehr passiert. wurde nix mehr included, weil die variable keinen wert mehr bekommen hat.
  View user's profile Private Nachricht senden
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 26.06.2007 10:31
Titel

Antworten mit Zitat Zum Seitenanfang

Werf mal einen Blick auf den Thread.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Di 26.06.2007 12:44
Titel

Antworten mit Zitat Zum Seitenanfang

Code:
switch ($_REQUEST['navi']) {

Warum nutzt du denn hier $_REQUEST?

Es geht doch nur darum, daß der Parameter navi per URL übergeben werden soll.
Dann setze $_GET ein.
Bei einem POST-Request soll das doch gar nicht funktionieren...
Aus Sicherheitsgründen solltest du nicht mehr Optionen bieten als nötig.

Und was ist jetzt, wenn jemand deine Site mit index.php?navi=gibtEsNicht anfordert?
Für diesen Fall würde ich dem Switch-Block einen default-Case mitgeben.

Und was soll das sprintf dort? Das bringt da doch rein gar nichts. Einen Formatierungsstring setzt du auch nicht ein...
Die eine Datei, die du einbindest, heißt "home.txt" und die andere heißt einfach nur "leistungen"? Keine Dateiendung?
Ich weiß ja jetzt nicht, was in den Dateien drin steht, aber falls dort PHP-Code enthalten sein sollte, mußt du unbedingt die Dateiendung .php vergeben!
Wenn ich so eine Datei nämlich direkt anfordere und die hat keine php-Dateiendung, dann wird sie logischerweise nicht von PHP geparst und ich kann den Code sehen.
Das offenbart mir dann möglicherweise Dinge, die ich gar nicht sehen sollte. Vielleicht sind Paßwörter oder Datenbank-Zugangsdaten dort enthalten. Vielleicht entdecke ich durch Einsicht des PHP-Codes aber auch ein paar Angriffsmöglichkeiten auf den Server.
Einige Leute vergeben für ihre einzubindenen Dateien immer die Endung .inc - das ist genauso schlecht!
.inc.php wäre viel sinnvoller und sicherer.

Ich würde das also folgendermaßen machen:
Code:
<?php
switch ( $_GET['navi'] )
{
   case home:
      include( 'home.inc.php' );
      break;
   case leistungen:
      include( 'leistungen.inc.php' );
      break;
   default:
      include( 'standard.inc.php' )
      break;
}
?>


Naja und zum Umgang mit dem rewrite-Modul hat m ja bereits einen Link gepostet.
Es gibt hier im Board allerdings auch noch weitere Threads zum Thema.
Die boardeigene Suche hilft.


Zuletzt bearbeitet von rob am Di 26.06.2007 12:45, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
ZeroFlash
Threadersteller

Dabei seit: 11.02.2005
Ort: -
Alter: 41
Geschlecht: Männlich
Verfasst Di 26.06.2007 18:14
Titel

Antworten mit Zitat Zum Seitenanfang

hab ich auch nur schnell fürs forum zusammen geschrieben. klar gibts n default bzw ne schleife die abfragt ob navinicht gesetzt ist.

ich nehm da txt weil nur html zeug enthalten ist. nix wichtiges... das is dann noch mal extra in ner php

ging nur ums prinzip

ja und warum ich request nehm hat folgenden grund. war bis vor n paar tagen bei nem anderen hoster und da ging meine schleife mit get bzw post nicht sondern nur mit request. war also nur ne notlösung.

danke aber schon mal.
  View user's profile Private Nachricht senden
ZeroFlash
Threadersteller

Dabei seit: 11.02.2005
Ort: -
Alter: 41
Geschlecht: Männlich
Verfasst Di 26.06.2007 19:33
Titel

Antworten mit Zitat Zum Seitenanfang

so hab noch mal probiert und gemacht. also an sich wars bis auf das $_REQUEST richtig... hatte ja schon mal mit home.html getestet. nur bleibt bei $_POST die navi variable leer.

wieso geht das nur mit $_GET?
  View user's profile Private Nachricht senden
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 26.06.2007 19:47
Titel

Antworten mit Zitat Zum Seitenanfang

Einfach mal googlen:

http://www.phpbar.de/w/Superglobal
http://www.dynamicwebpages.de/php/reserved.variables.php
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Ist so eine Eingangsseite suchmaschinenfreundlich?
Mod Rewrite und SEO
URL / Mod Rewrite
AS1 in AS2 umschreiben
Mod Rewrite im Unterordner
[REGEX/REWRITE] + und &
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.