php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.01.2009, 19:33  
Erfahrener Benutzer
 
Registriert seit: 10.01.2009
Beiträge: 164
PHP-Kenntnisse:
Anfänger
scheffie befindet sich auf einem aufstrebenden Ast
Standard Mod_Rewrite

hallo ich bin es mal wieder.

und zwar würde ich gern mal dieses mod-rewrite ausprobieren da ich diese urls wie


http://www.domain.com/index.php?id=13&projekt=5

doof finde...und ich würde gern diese urls so aussehen lassen

http://www.domain.com/index/13/5

da ich schon einwenig gegoogelt habe und auch auf der seite von mod-rewrite war frag ich dennoch hier nach denn das meiste was ich gefunden habe ist wie man alle php datein auf html anzeigen lässt usw...aber nicht wirklich sowas für meine lösung.

ist das den überhaupt möglich? so wie ich es gern haben würde? wenn ihr ein gutes tutorial kennt könnt ihr mir gerne helfen

lg scheffie
scheffie ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 24.01.2009, 20:04  
Erfahrener Benutzer
 
Registriert seit: 19.05.2008
Beiträge: 612
PHP-Kenntnisse:
Fortgeschritten
Young Jedi befindet sich auf einem aufstrebenden Ast
Standard

Kannst dir ja das mal angucken, vielleicht hilft es dir:

Code:
RewriteEngine On
RewriteRule ^/(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)$ - [L] 
RewriteRule ^/(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)/.*$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php
Das ist ein Ausschnitt von der CoolURI .htaccess, welche eine Extension für Typo3 ist. Ich denke, du müsstest das nur ein bisschen umändern.
__________________
http://tippsgegenlangeweile.de

Young Jedi ist offline  
Alt 24.01.2009, 22:18  
Benutzer
 
Registriert seit: 09.01.2008
Beiträge: 82
Lavalampe befindet sich auf einem aufstrebenden Ast
Standard

Eine .htaccess im Stammverzeichnis:
Code:
RewriteEngine On
RewriteRule ^index/(.*?)/(.*?)/?$ index.php?id=$1&project=$2
Du musst aber auch in den Ausgaben absolute Pfade angeben:
statt <a href="index/13/5"> <a href="/index/13/5">.
Bei Bildern, JScripts und Stylesheets genauso
Lavalampe ist offline  
Alt 25.01.2009, 10:29  
Erfahrener Benutzer
 
Registriert seit: 10.01.2009
Beiträge: 164
PHP-Kenntnisse:
Anfänger
scheffie befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Lavalampe Beitrag anzeigen
Eine .htaccess im Stammverzeichnis:
Code:
RewriteEngine On
RewriteRule ^index/(.*?)/(.*?)/?$ index.php?id=$1&project=$2
Du musst aber auch in den Ausgaben absolute Pfade angeben:
statt <a href="index/13/5"> <a href="/index/13/5">.
Bei Bildern, JScripts und Stylesheets genauso
morgen.

erstmal danke für eure antworten. das mit der ausgabe meinste doch in php oder wo? aber durch db abfrage muss ich ja so abfragen

<a href=\"index.php?&id=$nr->ID&project=$nr->PID>Link</a>

oder entfällt das durch das rewrite auf das

<a href=\"/index.php/$nr->ID/$nr->PID>Link</a>
scheffie ist offline  
Alt 25.01.2009, 10:53  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Zitat:
erstmal danke für eure antworten. das mit der ausgabe meinste doch in php oder wo? aber durch db abfrage muss ich ja so abfragen

<a href=\"index.php?&id=$nr->ID&project=$nr->PID>Link</a>

oder entfällt das durch das rewrite auf das

<a href=\"/index.php/$nr->ID/$nr->PID>Link</a>
Das kommt auf das Design deines Link-Rewriting an. Kann deine Applikation mit der letzten Variante etwas anfangen: ja, ansonsten: nein. Es ist doch nicht damit getan, dass du die Links schön formatierst, die Applikation muss auch etwas damit anfangen können. Ich sag nur Regel 1 meines Footers!
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Geändert von dr.e. (25.01.2009 um 10:54 Uhr). Grund: Hinweis auf Regel 1 eingefügt
dr.e. ist offline  
Alt 25.01.2009, 11:00  
Erfahrener Benutzer
 
Registriert seit: 10.01.2009
Beiträge: 164
PHP-Kenntnisse:
Anfänger
scheffie befindet sich auf einem aufstrebenden Ast
Standard

also die url im browser sieht zur zeit so aus....(hab es mal nur mit einen parameter)

http://localhost/test/index.php?&id=5


der link wird so in php gemacht

<a href=\"index.php?&id=$nr->ID\">

dann die .htaccess

RewriteEngine On
RewriteRule ^index/(.*?)/?$ index.php?&id=$1



ich denke mal die .htaccess ist falsch...
die .htaccess liegt im ordner test....
scheffie ist offline  
Alt 25.01.2009, 20:02  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Du hörst mir nicht zu!
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 25.01.2009, 20:19  
22hase
Gast
 
Beiträge: n/a
Standard

@scheffie...probier mal

RewriteRule index/(.*)/ index.php?id=$1
RewriteRule index/(.*) index.php?id=$1

und den link nich so

<a href=\"index.php?&id=$nr->ID\">

sondern

<a href=\"/index/$nr->ID\">

so geht bei mir jedenfals ab das die optimalste lösung ist weiß ich auch nicht aber fals nicht wird sicher der eine oder andere was dazu sagen können
 
Alt 26.01.2009, 09:58  
Neuer Benutzer
 
Registriert seit: 01.06.2008
Beiträge: 14
PHP-Kenntnisse:
Fortgeschritten
ventrix befindet sich auf einem aufstrebenden Ast
Standard

Also wenn man das schon nur für die id nutzt, dann doch bitte mit
([0]*)([1-9][0-9]*)
Entweder beugt man so einer injection vor, oder man prüft intern, ob die id auch wirklich nur eine id ist

Da man nicht weiß, welches script du nutzt, oder wie es designed ist, kann man dir - besonders bei mehreren Angaben (index/1/2/3) - nicht groß helfen, da die meisten scripte dann z.b. die stylesheet nichtmehr finden. Dem kann man bei schlechtem code, meist passiert das bei prozeduralem, mit index,1,2,3 vorbeugen. Oder man gibt überall den absoluten Pfad an.

Außerdem ist mod_rewrite noch extrem Anbieterabhängig. Manchmal muss man /index.php schreiben, manchmal nur den Unterordner uOrdner/index.php usw. Oder manche Befehle funktionieren einfach nicht, z.B. Options +FollowSymlinks. Muss man testen. Hab so sogar schon nen root zum abstürzen gebracht ^^

Als Link solltest du dann natürlich <a href="index/1/2/3"> .. angeben.
Und natürlich kann die htaccess im Unterordner liegen, wenn das script auch dort liegt.
Naja, eher mal das aktuelle konkrete Problem posten.
ventrix ist offline  
Alt 26.01.2009, 10:20  
22hase
Gast
 
Beiträge: n/a
Standard

Hey.
ich hab zum beispiel so eine URL
www.domain.de/tour.php?id=4&tour=Einzelgigs

und habe es so ähnlich wie in mein post über dir zu
www.domain.de/tour/4/Einzelgigs

gemacht...da ich net weiß auf was dein post bezogen war frag ich ob ich auch ([0]*)([1-9][0-9]*) nutzen sollte? in manchen fällen übergebe ich zwar nummer in die url
die aber nicht abgefragt werden..beispiel

www.domain.de/fotos.php?id=103&tid=4&tour=Einzelgigs&ort=Berlin

wird dann zu
www.domain.de/fotos/103/4/Einzelgigs/Berlin

dies mach ich eben nur damit man im Forum besser sieht um welche galerie es sich handelt...in der db abfrage wird nur die id(103) abgefragt...
ist dies denn so schlimm wenn man noch anderes an die url übergibt was eigentlich nicht gebraucht wird?
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
cooluri unterordner, unterverzeichnis mod_rewrite cooluri

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:11 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum