php.de

Zurück   php.de > Webentwicklung > Server, Hosting und Workstations

Server, Hosting und Workstations Server-Konfigurationsdateien (.htaccess/httpd.conf) und Arbeiten auf Serverebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.09.2011, 10:29  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard mod_rewrite auf ein einziges url layout anwenden was ohne & auskommt?

Hallo Leute,

meine Frage steht schon im Thread Titel.

Ich habe in meiner Anwendung folgendes URL Layout was immer gleich aussieht und nur ein ? zur Einleitung des Query Strings hat aber keine & Parameteranhänge.

URL Layout.
Code:
//variante 1
http://www.example.com/index.php?/User/~/act1-FreeUser/~/free-codezumfreischalten

//variante 2
http://www.example.com/index.php?/User/~/act1-UserProfil/act2-Galerie/~/id-1/page-2
Kurze Info, die /~/ sind für mich da gewisse Parameter Block Trennungen, ob das so Sinn hat und man besser lösen könnte ist erst mal egal. Im ersten Blockteil wird ein Modul angesprochen. Im zweiten sind verschiedene Actions die mir verschiedene Controller und Helfer, sowie die Views. Im letzten Block sind es dann optionale Parameter.

Wie müsste die Rewrite Rule lauten um das index.php?/ weg zu bekommen und egal welche Anfrage kommt immer auf die index.php (weil diese eine zentrale index ist) umzuleiten?

Danke für eure Antworten Gruß der Litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 09.09.2011, 10:39  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von litterauspirna Beitrag anzeigen
Wie müsste die Rewrite Rule lauten
Dass hier kein "macht mal"-Forum ist, solltest du wissen.

Wie sieht dein Ansatz aus ...?
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 09.09.2011, 10:40  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.991
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Wieso benutzt Du das überhaupt? ?/ scheint mir keine gültige Syntax zu sein.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 10.09.2011, 09:50  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von ChrisB Beitrag anzeigen
Dass hier kein "macht mal"-Forum ist, solltest du wissen.

Wie sieht dein Ansatz aus ...?
Entschuldigung, du hast natürlich recht. Ich habe eigentlich auch noch nie einen Post hier eröffnet ohne eigene Ansätze oder eigene Gedankengänge.
Momentan raucht mir einfach der Kopf, ich muss mich im Praktikum ins Zend Framework einarbeiten und das macht mir momentan mehr zu schaffen und fällt mir leider schwerer als ich dachte.
Von daher habe ich im Moment ein Kopfproblem und diesbezüglich habe ich leider gar kein Stück Ansatz dazu.
Das ist das erste mal das ich ne Frage stelle ohne eigenen Code, Gedankenansatz oder ähnliches.
Ich hoffe man kann es mir mal nachsehen.

Gruß Litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline   Mit Zitat antworten
Alt 10.09.2011, 11:24  
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

Soll das Url-Layout mit dem ZF umgesetzt werden oder in einer eigenen Applikation (basierend auf was auch immer)?
__________________
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   Mit Zitat antworten
Alt 10.09.2011, 16:19  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von dr.e. Beitrag anzeigen
Soll das Url-Layout mit dem ZF umgesetzt werden oder in einer eigenen Applikation (basierend auf was auch immer)?
In meiner eigenen Applikation.
Das mit dem Zend war hier nur nebenbei bemerkt.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline   Mit Zitat antworten
Alt 01.12.2011, 15:51  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Abend Leutz,

ich muss das Thema noch einmal aufgreifen.

Ich habe ein Problem mit folgender Rewrite Rule Anweisung.

Code:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Eine URL ohne modrewrite Manipulierung würde so aussehen bei mir.

Da funktioniert das auch alles und es kommt wie es im Browser erscheinen soll.

Wenn ich nun aber folgendes eingebe in die Browseradressleiste.
Dann wird nicht wie ich es erwarte die Seite aus der URL aufgerufen, sondern es bleibt einfach die Standart geladene Seite im Browser sichtbar.

An was kann das liegen?

Ich arbeite mit XAMPP und das Projekt ist eigenentwickelt und nicht auf Zend basierend.

Danke für eure Hilfe.

Gruß der Litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline   Mit Zitat antworten
Alt 01.12.2011, 17:40  
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

Wie verarbeitest du denn den Input? An der RewriteRule - behaupte ich - liegt es nicht. Entweder die URL kommt "nicht richtig an" oder wird von dir "nicht richtig" verarbeitet.
__________________
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   Mit Zitat antworten
Alt 02.12.2011, 09:05  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Hallo Doc,

das ist meine Klasse die mir die URL anhand des REQUEST_URI auflöst.

PHP-Code:
<?php
class Url
{
    protected 
$_uri;
    protected 
$_requestMethod;
    protected 
$_modul;
    protected 
$_controller;
    protected 
$_action;
    protected 
$_option;
    protected 
$_options = array();
    protected 
$_pathSeperator;
    
    
/**
     * 
     *     Initialisierung von Objekt Variablen
     *     @param $pPathSeperator:Charachter Pfadtrenner
     */
    
public function __construct($pPathSeperator null)
    {
        
$this->_pathSeperator = ($pPathSeperator !== null)
            ? 
$pPathSeperator
            
'/';
        
$this->_buildMvcParams();
    }
    
    
/**
     * 
     *     Auflösen der URL anhand des REQUEST_URI für das ansteuern von MVC Komponenten
     *     @return Url
     */
    
protected function _buildMvcParams()
    {
        
$this->_uri substr(strstr($_SERVER['REQUEST_URI'].$this->_pathSeperator'?'), 1);
        
$this->_requestMethod $_SERVER['REQUEST_METHOD'];
        
        
$mPos strpos($this->_uri$this->_pathSeperator);
        
$this->_modul substr($this->_uri0$mPos);
        
        
$urlRest substr($this->_uri, ($mPos 1));
        
$cPos strpos($urlRest$this->_pathSeperator);
        
$this->_controller substr($urlRest0$cPos);
        
        
$urlRest substr($urlRest, ($cPos 1));
        
$aPos strpos($urlRest$this->_pathSeperator);
        
$this->_action substr($urlRest0$aPos);
        
        
$urlRest substr($urlRest, ($aPos 1));
        
$this->_option $urlRest.$this->_pathSeperator;
        
        
$this->_options $this->getOptions();
        
        return 
$this;
    }
    
    public function 
getUri()
    {
        return 
$this->_uri;
    }
    
    public function 
modulName()
    {
        return 
$this->_modul;
    }
    
    public function 
controllerName()
    {
        return 
$this->_controller;
    }
    
    public function 
actionName()
    {
        return 
$this->_action;
    }
    
    public function 
options()
    {
        return 
$this->_options;
    }
    
    
/**
     * 
     *     Rückgabe aller in der URL befindlichen Parameter
     *     @return Mixed
     */
    
public function getOptions()
    {
        
$opts explode('/'substr($this->_option0, -2));
        
$optKey = array();
        
$optValue = array();
        
$options = array();
        
        for(
$i 0$i count($opts); $i++) {
            
            if(
=== $i%2) {
                
$optKey[] = $opts[$i];
            } else {
                
$optValue[] = $opts[$i];
            }
        }
        
        foreach(
$optKey as $key => $value) {
            
            foreach(
$optValue as $vKey => $vValue) {
                
$options[$value] = $optValue[$key];
                
                if(
$options[$value] == "") {
                    unset(
$options[$value]);
                }
            }
        }
        
        return 
$options;
    }
    
    
/**
     * 
     *     Rückgabe eines bestimmten Url Parameters
     *     @param $pOption:String Option Key
     */
    
public function getOption($pOption)
    {
        return 
$this->_options[$pOption];
    }
}
Rein vom php technischen klappt das auch alles und es kommt raus was ich will.
Nur mit dem mod_rewrite klappt das nicht.

Eine eingehende URL ohne modifizierung sieht so aus.

Zitat:
http://localhost/WendtNeu/index.php?User/Admin/free
Wird das so im Browser aufgerufen funktioniert das auch alles.

Danke für die Hilfe. Gruß Litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline   Mit Zitat antworten
Alt 13.12.2011, 12:24  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Tach an alle,

nach nunmehr 11 Tagen ohne Antwort erlaube ich es mir den Thread mal hoch zu holen.

Seht ihr den Fehler den ich da mache?
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline   Mit Zitat antworten
Antwort


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
mod_rewrite anwenden, mod_rewrite url immer gleich, mod_rewrite in a url &amp; for &, php5 url-layouts, php mod_rewrite einmal anwenden, mod_rewrite ansätze

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:13 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