Contao-Camp 2024
Ergebnis 1 bis 13 von 13

Thema: CONTAO 4.13.14: Erweiterung URL Rewrite

  1. #1
    Contao-Fan
    Registriert seit
    11.11.2011.
    Ort
    Schwerin
    Beiträge
    612

    Standard CONTAO 4.13.14: Erweiterung URL Rewrite

    Hallo,


    habe in der Erweiterung nach dem dortigen Beispiel eine Weiterleitung umgesetzt, siehe Anlage.

    So soll es funktionieren:

    https://www.schwerin-sicherheit.de/pep-portal --->>> https://schwerin-sicherheit.disponic.de/Default.aspx



    Leider funktioniert es noch nicht, es gibt es eine Fehlermeldung:
    https://www.schwerin-sicherheit.de/pep-portal



    Was habe ich übersehen ?



    Vielen Dank für Hinweise.
    Angehängte Grafiken Angehängte Grafiken

  2. #2
    Contao-Nutzer Avatar von Black Pirate
    Registriert seit
    10.02.2015.
    Beiträge
    224

    Standard

    Du könntest auch ohne Erweiterung einfach in der Seitenstruktur die Seite "pep-portal" als Seitentyp Externe Weiterleitung definieren.
    Und dann weiterleiten auf gewünschte externe Url in der Einstellung "Weiterleiten"

  3. #3
    Contao-Fan
    Registriert seit
    11.11.2011.
    Ort
    Schwerin
    Beiträge
    612

    Standard

    Habe eine andere Lösung umgesetzt und in die .htaccess ganz oben 2 verschiedenen Weiterleitungen eingetragen und einzeln getestet:

    Code:
    #RewriteRule https://www.schwerin-sicherheit.de/pep-portal https://schwerin-sicherheit.disponic.de/Default.aspx [L,R=301]
    #Redirect 301 https://www.schwerin-sicherheit.de/pep-portal https://schwerin-sicherheit.disponic.de/Default.aspx
    Rufe ich dann diese URL auf: https://www.schwerin-sicherheit.de/pep-portal

    kommt eine Fehlermeldung:
    Code:
    Oops! An Error Occurred
    The server returned a "404 Not Found".
    Something is broken. Please let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused.

    Es scheint, als wenn die Regel überhaupt nicht beachtet wird ?

  4. #4
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    5.273

    Standard

    wenn da in echt ein # davor steht, führt er diese Anweisung nicht aus. (# = auskommentiert)

    Oder war das nur hier fürs Forum?

  5. #5
    Contao-Fan
    Registriert seit
    11.11.2011.
    Ort
    Schwerin
    Beiträge
    612

    Standard

    Es war nur hier für das Forum auskommentiert, aktuell ist folgendes in der .htaccess (die Anweisung ist auch ganz oben, damit die Anweisung nicht überschrieben wird):

    Code:
    #RewriteRule https://www.schwerin-sicherheit.de/pep-portal https://schwerin-sicherheit.disponic.de/Default.aspx [L,R=301]
    Redirect 301 https://www.schwerin-sicherheit.de/pep-portal https://schwerin-sicherheit.disponic.de/Default.aspx
    
    
    <IfModule mod_rewrite.c>
        RewriteEngine On
        
    
        <IfModule mod_headers.c>
            # Assets in /assets and /bundles either contain a hash in their filename
            # or are called with a ?version suffix, therefore cache them for 1 year.
            RewriteRule ^(assets|bundles)/ - [ENV=CONTAO_ASSETS:true]
            Header set Cache-Control "max-age=31536000" env=CONTAO_ASSETS
    
            # Allow CORS on the Contao TinyMCE skin.
            RewriteRule ^assets/tinymce4/js/skins/contao/fonts/ - [ENV=CONTAO_TINYMCE_SKIN:true]
            Header set Access-Control-Allow-Origin "*" env=CONTAO_TINYMCE_SKIN
        </IfModule>
    
        # Determine the RewriteBase automatically and set it as environment variable.
        # If you are using Apache aliases to do mass virtual hosting or installed the
        # project in a subdirectory, the base path will be prepended to allow proper
        # resolution of the index.php file and to redirect to the correct URI. It will
        # work in environments without path prefix as well, providing a safe, one-size
        # fits all solution. But as you do not need it in this case, you can comment
        # the following 2 lines to eliminate the overhead.
        RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
        RewriteRule ^(.*) - [E=BASE:%1]
    
        # Sets the HTTP_AUTHORIZATION header removed by Apache
        RewriteCond %{HTTP:Authorization} .
        RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    
        # Redirect to URI without front controller to prevent duplicate content
        # (with and without `/index.php`). Only do this redirect on the initial
        # rewrite by Apache and not on subsequent cycles. Otherwise we would get an
        # endless redirect loop (request -> rewrite to front controller ->
        # redirect -> request -> ...).
        # So in case you get a "too many redirects" error or you always get redirected
        # to the start page because your Apache does not expose the REDIRECT_STATUS
        # environment variable, you have 2 choices:
        # - disable this feature by commenting the following 2 lines or
        # - use Apache >= 2.3.9 and replace all L flags by END flags and remove the
        #   following RewriteCond (best solution)
        RewriteCond %{ENV:REDIRECT_STATUS} ^$
        RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
    
        # If the requested filename exists, simply serve it.
        # We only want to let Apache serve files and not directories.
        RewriteCond %{REQUEST_FILENAME} -f
        RewriteRule ^ - [L]
    
        # Rewrite all other queries to the front controller.
        RewriteRule ^ %{ENV:BASE}/index.php [L]
        
        
        
        
        
    </IfModule>
    
    <IfModule !mod_rewrite.c>
        <IfModule mod_alias.c>
            # When mod_rewrite is not available, we instruct a temporary redirect of
            # the start page to the front controller explicitly so that the website
            # and the generated links can still be used.
            RedirectMatch 302 ^/$ /index.php/
            # RedirectTemp cannot be used instead
        </IfModule>
    </IfModule>
    
    # Deflate Compression by FileType
    <IfModule mod_deflate.c>
     AddOutputFilterByType DEFLATE text/plain
     AddOutputFilterByType DEFLATE text/html
     AddOutputFilterByType DEFLATE text/xml
     AddOutputFilterByType DEFLATE text/css
     AddOutputFilterByType DEFLATE text/javascript
     AddOutputFilterByType DEFLATE application/xml
     AddOutputFilterByType DEFLATE application/xhtml+xml
     AddOutputFilterByType DEFLATE application/rss+xml
     AddOutputFilterByType DEFLATE application/atom_xml
     AddOutputFilterByType DEFLATE application/javascript
     AddOutputFilterByType DEFLATE application/x-javascript
     AddOutputFilterByType DEFLATE application/x-shockwave-flash
    </IfModule>

  6. #6
    Contao-Nutzer
    Registriert seit
    10.06.2021.
    Beiträge
    232
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Bei https://www.schwerin-sicherheit.de/pep-portal kommt eine Antwort von einem NGINX Server, der kann kein .htaccess.

  7. #7
    Contao-Fan
    Registriert seit
    11.11.2011.
    Ort
    Schwerin
    Beiträge
    612

    Standard

    Habe jetzt auf den PHP- Apache Modus umgeschaltet, leider immer noch der gleiche Fehler.

    HINWEIS:
    In der CONTAO- Installation sind 3 verschiedene Webseiten umgesetzt: also 3 Domains zeigen auf diese eine CONTAO- Installation mit einer .htaccess

  8. #8
    Contao-Nutzer
    Registriert seit
    10.06.2021.
    Beiträge
    232
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von mv-soft Beitrag anzeigen
    Habe jetzt auf den PHP- Apache Modus umgeschaltet, leider immer noch der gleiche Fehler.
    Es kommt auch nach wie vor die Antwort von einem NGINX. Dass PHP über Apache ausgeführt wird reicht nicht.
    Ich würde es einfach, wie @Black Pirate geschrieben hat, lösen.

  9. #9
    Contao-Fan
    Registriert seit
    11.11.2011.
    Ort
    Schwerin
    Beiträge
    612

    Standard

    Das habe ich gemacht mit der neuen Seite:

    Nun geht zwar dieses:
    https://www.schwerin-sicherheit.de/pep-portal.html


    aber unser Kunde braucht das:
    https://www.schwerin-sicherheit.de/pep-portal


    Es liegt also an der Ordner- Angabe...

  10. #10
    Contao-Nutzer Avatar von Black Pirate
    Registriert seit
    10.02.2015.
    Beiträge
    224

    Standard

    Den Suffix kannst du via config entfernen.

    Eine config.yml erstellen mit Inhalt:

    Code:
    contao:
        url_suffix: ''
    im Root Verzeichnis Ordner "config" (falls nicht vorhanden, einfach erstellen) speichern.

  11. #11
    Contao-Fan
    Registriert seit
    11.11.2011.
    Ort
    Schwerin
    Beiträge
    612

    Standard

    Ja, das könnte ich machen, aber es gibt unter der Domain eine reguläre Startseite:

    https://www.schwerin-sicherheit.de
    https://www.schwerin-sicherheit.de/s...-schwerin.html



    Hier brauche ich also den Sufix

  12. #12
    Contao-Nutzer Avatar von Black Pirate
    Registriert seit
    10.02.2015.
    Beiträge
    224

    Standard

    Ich denke ich würde mich für eine Version entscheiden und dies dann durchziehen.
    Also entweder alles mit oder ohne Suffix.

    Dann ist es sauber aufgegleist und die Seitenstruktur hat den "roten Faden".

  13. #13
    Contao-Fan
    Registriert seit
    11.11.2011.
    Ort
    Schwerin
    Beiträge
    612

    Standard LÖSUNG

    Habe nun in der config.yml das Legacy- Routing deaktiviert:

    Code:
    contao:
        legacy_routing: false

    Danach konnte ich in der EINEN Seitenstruktur den Suffix löschen (Feld war vorher ausgegraut). Nun erfolgt die korrekte Weiterleitung:
    https://www.schwerin-sicherheit.de/pep-portal



    Vielen herzlichen Dank für die Unterstützung.... habe viel dazu gelernt.
    DANKE

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
  •