Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit htacces und include()

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit htacces und include()

    Hallo. Ich habe ein Problem. Ich habe ein CMS welches und wollte mit Hilfe von einer htaccess Datei virtuelle Ordner für die verschiedenen Seiten und Kategorien anlegen. Wie ihr euch sicher denken könnt hab ich es nicht hinbekommen^^

    Ich habe in der Index.php ein Objekt aus einer Klasse aus einem unterordner, die in einer funktion den querystring ausliest und als Array zurückgibt. eine weitere funktion ladet die dementsprechende Datei aus einem bestimmten Ordner. Die Funktion gibt genau den Dateinamen in der index.php zurück.

    PHP-Code:
        function object_path() { 
        
        
    $querystring $this->the_querystring();
        
        
    $settings $this->settings();
        
        
    // Bei Suchanfragen, Kategorien und Archiven!!
        //
        
    if(!empty($querystring['s']) || !empty($querystring['cat']) || !empty($querystring['tag'])) {

            if(
    is_file(PHP "/content/themes/" $settings['site_theme'] . "/archive.php")) {
            
                
    $new_path PHP "/content/themes/" $settings['site_theme'] . "/archive.php";
                
            } else {
            
                
    $new_path PHP "/content/archive.php";        
            
            }
        
        
    // Wenn ein Objekttyp angegeben wurde, wird das entsprechende Objekt geladen
        
    } elseif(!empty($querystring['p']) || !empty($querystring['page_id'])) { 

                
    $new_path PHP "/content/object.php";

        
    // In allen anderen Fällen, lade die Index Datei
        
    } else {
                
            if(
    is_file(PHP "/content/themes/" $settings['site_theme'] . "/index.php")) {
            
                
    $new_path PHP "/content/themes/" $settings['site_theme'] . "/index.php";
                
            } else {
            
                
    $new_path PHP "/content/index.php";        
            
            }            
        
        }

        return 
    $new_path;    
        
        } 
    In der index.php rufe ich das so auf:

    PHP-Code:
    include $system->object_path(); 

    Ich habe es schon mie eval() versucht aber das klappt auch nicht. Auf jeden Fall kann ich so das CMS ordentlich bedienen. Mein Problem ist aber wenn ich in der htaccess

    PHP-Code:
    ^post/([0-9])\.$ index.php?p=$
    umschreibe, sind zwar alle Seiten auch via domain.com/post/?p=123 abrufbar aber nicht via domain.com/post/123

    Wäre jemand so nett und könnte mir dabei helfen?

  • #2
    Code:
    ^post/([0-9]).+$ index.php?p=$1
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

    Kommentar


    • #3
      vielen dank. zwar hat es so
      PHP-Code:
      ^post/([0-9]).+$ index.php?p=$
      nicht funktioniert dafür klappt es annähernd so, wie ich es möchte, wenn ich
      PHP-Code:
      ^post/([0-9].*)$ index.php?p=$
      reinschreibe.

      Das einzige was noch stört, es wird zwar die richtige Seite angezeigt, aber die URL ändert sich auf die ursprüngliche form
      PHP-Code:
      /index.php?p=123 
      zurück.

      Ich habe es (einzeln) mit [R,QSA], [R=301,QSA] [R], [R=301] und [L] versucht, was auch nichts änderte.

      Kommentar


      • #4
        du musst deine ahrefs aendern, nicht deine htaccess.
        PHP-Code:
        <a href="/post/<?php echo '123';?> ">post 123</a>
        apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

        Kommentar


        • #5
          ich hab die urls direkt in die adressleiste eingegeben. trotzdem sind die links schuld?

          Kommentar


          • #6
            Zitat von naruto Beitrag anzeigen
            ich hab die urls direkt in die adressleiste eingegeben. trotzdem sind die links schuld?
            dann musste deine .htaccess mal zeigen
            apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

            Kommentar


            • #7
              Hier ist sie

              PHP-Code:
              RewriteEngine On
              RewriteBase 
              /

              RewriteRule ^post/([0-9].*)$ index.php?p=$[R

              Kommentar


              • #8
                http://www.modrewrite.de/mod-rewrite...statische-url/

                las mal das R hinten wech
                apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

                Kommentar


                • #9
                  hab ich auch schon. hast du dir angesehen, wie ich die dateien einbinde? daran kann es nicht liegen? auf der seite bin ich schon an die 100 mal gelandet^^ von dort, selfhtml und peterkropff.de hab ich auch meine ansätze :P

                  Kommentar

                  Lädt...
                  X