Ergebnis 1 bis 8 von 8

Thema: URLs umschreiben, Ordnerstrukturen und URL-Suffix .php

  1. #1
    Contao-Nutzer
    Registriert seit
    18.07.2016.
    Beiträge
    61

    Standard URLs umschreiben, Ordnerstrukturen und URL-Suffix .php

    Hallo,

    bin mit meinem Projekt auf Contao umgestiegen und habe die Ordnerstrukturen und das Umschreiben der URLs aktiviert . Soweit so gut, allerdings hatte ich in meinem alten Projekt Seiten mit .php-Endung und wenn ich in Contao als URL-Suffix .php einstelle, kann ich zwar alle Seiten des Projekts aufrufen, die Login-Seite für das Contao-Backend aber nicht mehr. Die .htaccess habe ich mit

    RewriteRule .*\.php$ index.php [L]

    entsprechend angepasst.

    Frage: Gibt es in meinem Fall eine andere Möglichkeit auf das Backend zuzugreifen oder muss ich die .htaccess noch weiter anpassen?

    Grüße

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.262
    Partner-ID
    10107

    Standard

    Zitat Zitat von berha Beitrag anzeigen
    Soweit so gut, allerdings hatte ich in meinem alten Projekt Seiten mit .php-Endung
    Vielleicht ist es besser, dass du dir da Redirects mit RewriteRules schreibst.


    Zitat Zitat von berha Beitrag anzeigen
    Die .htaccess habe ich mit

    RewriteRule .*\.php$ index.php [L]

    entsprechend angepasst.
    Was genau hast du da gemacht? Zeig mal deine komplette .htaccess her.

  3. #3
    Contao-Nutzer
    Registriert seit
    18.07.2016.
    Beiträge
    61

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Vielleicht ist es besser, dass du dir da Redirects mit RewriteRules schreibst.
    Werde ich machen, wenn es nicht anders geht. Bei 750 Seiten (mein Projekt) kann das schon mal ein bisschen dauern :-).


    Hier ein Ausschnitt (die ganze htaccess befindet sich im Anhang):
    Code:
    ##
      # By default, Contao adds ".html" to the generated URLs to simulate static
      # HTML documents. If you change the URL suffix in the back end settings, make
      # sure to change it here accordingly!
      #
      #   RewriteRule .*\.html$ index.php [L]   # URL suffix .html
      #   RewriteRule .*\.txt$ index.php [L]    # URL suffix .txt
      #   RewriteRule .*\.json$ index.php [L]   # URL suffix .json
      RewriteRule .*\.php$ index.php [L]   # URL suffix .php
      #
      # If you do not want to use an URL suffix at all, you have to add a third
      # line to prevent URLs that point to folders from being rewritten (see #4031).
      #
      #   RewriteCond %{REQUEST_FILENAME} !-d
      #   RewriteRule .* index.php [L]
    Angehängte Dateien Angehängte Dateien

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.262
    Partner-ID
    10107

    Standard

    Zitat Zitat von berha Beitrag anzeigen
    Werde ich machen, wenn es nicht anders geht. Bei 750 Seiten (mein Projekt) kann das schon mal ein bisschen dauern :-).
    Ich meinte ja nicht, dass du 750 einzelne Redirects anlegen sollst, sondern entsprechend eine RewriteRule anlegst.


    Zitat Zitat von berha Beitrag anzeigen
    Hier ein Ausschnitt (die ganze htaccess befindet sich im Anhang):
    Code:
    ##
      # By default, Contao adds ".html" to the generated URLs to simulate static
      # HTML documents. If you change the URL suffix in the back end settings, make
      # sure to change it here accordingly!
      #
      #   RewriteRule .*\.html$ index.php [L]   # URL suffix .html
      #   RewriteRule .*\.txt$ index.php [L]    # URL suffix .txt
      #   RewriteRule .*\.json$ index.php [L]   # URL suffix .json
      RewriteRule .*\.php$ index.php [L]   # URL suffix .php
      #
      # If you do not want to use an URL suffix at all, you have to add a third
      # line to prevent URLs that point to folders from being rewritten (see #4031).
      #
      #   RewriteCond %{REQUEST_FILENAME} !-d
      #   RewriteRule .* index.php [L]
    Du hast den entsprechenden Bereich falsch verstanden. Lies dir den Kommentarblock nochmal durch. Du darfst dort nicht einfach so Kommentare entfernen. Die Anweisungen sagen dir, dass du die entsprechenden Zeilen nach dem Kommentarblock entsprechend ändern musst.

    Stelle also nochmal die Original .htaccess.default von Contao her und ändere diese dementsprechend.

  5. #5
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.086
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Genau, die RewriteCond die da davorsteht verhindert, dass real existierende Dateien umgeschrieben werden. Wenn die fehlt, dann kannst du auf die "echten" PHP-Dateien nicht mehr zugreifen.

  6. #6
    Contao-Nutzer
    Registriert seit
    18.07.2016.
    Beiträge
    61

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Ich meinte ja nicht, dass du 750 einzelne Redirects anlegen sollst, sondern entsprechend eine RewriteRule anlegst.
    Ah sorry, dann ist ja gut. Kenne mich mit der .htaccess nicht so gut aus und dachte ich müsse für jede Unterseite einen Eintrag erstellen.

    Habe jetzt die Angaben nach dem Code-Block abgeändert von .html auf .php (siehe unten) und nun kann ich mich ins Backend einloggen. Alle Seiten des Projekts, die in Unterverzeichnissen liegen (also z. B. www.seite.de/verzeichnis1/seite.php) können nun auch aufgerufen werden. Die Seiten ohne Unterverzeichnisse (also z. B. www.seite.de/seite.php) erzeugen jedoch ein 'Objekt nicht gefunden'.

    Code:
      ##
      # By default, Contao adds ".html" to the generated URLs to simulate static
      # HTML documents. If you change the URL suffix in the back end settings, make
      # sure to change it here accordingly!
      #
      #   RewriteRule .*\.html$ index.php [L]   # URL suffix .html
      #   RewriteRule .*\.txt$ index.php [L]    # URL suffix .txt
      #   RewriteRule .*\.json$ index.php [L]   # URL suffix .json
      #
      # If you do not want to use an URL suffix at all, you have to add a third
      # line to prevent URLs that point to folders from being rewritten (see #4031).
      #
      #   RewriteCond %{REQUEST_FILENAME} !-d
      #   RewriteRule .* index.php [L]
      #
      # If you are using mod_cache, it is recommended to use the RewriteRule below,
      # which adds the query string to the internal URL:
      #
      #   RewriteRule (.*\.html)$ index.php/$1 [L]
      #
      # Note that not all environments support mod_rewrite and mod_cache.
      ##
      RewriteCond %{REQUEST_FILENAME} !\.(htm|php|js|css|map|htc|png|gif|jpe?g|ico|xml|csv|txt|swf|flv|mp4|webm|ogv|mp3|ogg|oga|eot|otf|tt[cf]|woff2?|svgz?|pdf|zip|gz)$
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule .*\.php$ index.php [L]
    Geändert von berha (19.07.2016 um 19:41 Uhr)

  7. #7
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.086
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich denke, du musst php noch aus der Liste in der drüberliegenden RewriteCond noch rausnehmen. Falls das tatsächlich die Ursache ist, wovon ich fast ausgehe, sollte man das gelegentlich auch noch in den Kommentar in der .htaccess aufnehmen.

  8. #8
    Contao-Nutzer
    Registriert seit
    18.07.2016.
    Beiträge
    61

    Standard

    tab, super, danke! Das ist die Lösung. Damit funktioniert jeder Seitenaufruf problemlos! :-))

    Hast Recht, ein Kommentar in der .htaccess wäre hilfreich. Ich werde das bei Gelegenheit den Entwicklern mitteilen - falls einer hier mitliest, umso besser :-).

    Euch noch einen schönen Abend
    berha

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •