Contao-Camp 2024
Ergebnis 1 bis 12 von 12

Thema: xxxxx.de/index.php/xxxxxx.html das index.php verbergen

  1. #1
    Contao-Nutzer Avatar von joe.schraube
    Registriert seit
    22.04.2012.
    Ort
    Dresden
    Beiträge
    81

    Standard xxxxx.de/index.php/xxxxxx.html das index.php verbergen

    wie kann ich in Links das index.php verbergen ?

    Der Link : http://www.webmystik.de/index.php/Indien.html sieht einfach deutlich weniger schön aus als
    der Link : http://www.webmystik.de/Indien.html
    und noch schöner wäre :
    http://www.webmystik.de/Indien

    geht das ?

  2. #2
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Theoretisch sogar beides.
    Als erstes solltes du im Backend bei Einstellugnen die URL Umschreibung einschalten.
    Dann musst du die .htaccess.default umbenennen nach .htaccess und ggf anpassen (RewriteBase), Erläuterungen stehen dort mit drin.

    Wenn du den Suffix "html" auch noch weghaben willst, dann ebenfalls dort im Backend den URL-Suffix löschen, dazu musste aber nochmal was an der .htaccess anpassen.
    Das würde ich aber erst dann machen, wenn die Umschreibung funktioniert, sonst suchste ewig nach der Ursache wenn nichts geht.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  3. #3
    Contao-Nutzer Avatar von joe.schraube
    Registriert seit
    22.04.2012.
    Ort
    Dresden
    Beiträge
    81

    Standard RewriteRule .* index.php [L]

    Wenn ich im Backend URL Umschreibung einschalte sind die Links sofort ohne /index.php/ und funktioneren auch nicht mehr. Soweit so gut.
    Kann jemand sagen was in die .htaccess muß ? Ich verstehe es auf anhieb nicht.

    es geht sicher um diesen Bereich :

    PHP-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 .* index.php [L]          # No URL suffix

      #   RewriteRule .*\.txt$ index.php [L]    # URL suffix .txt

      #

      # 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!

      ##

      
    RewriteRule .*\.htmlindex.php [L]



    </
    IfModule


    Komplett sieht meine so aus :


    PHP-Code:
    ##

    # Contao Open Source CMS

    # Copyright (C) 2005-2010 Leo Feyer

    #

    # Formerly known as TYPOlight Open Source CMS.

    #

    # This program is free software: you can redistribute it and/or

    # modify it under the terms of the GNU Lesser General Public

    # License as published by the Free Software Foundation, either

    # version 3 of the License, or (at your option) any later version.



    # This program is distributed in the hope that it will be useful,

    # but WITHOUT ANY WARRANTY; without even the implied warranty of

    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU

    # Lesser General Public License for more details.



    # You should have received a copy of the GNU Lesser General Public

    # License along with this program. If not, please visit the Free

    # Software Foundation website at <http://www.gnu.org/licenses/>.

    #

    # PHP version 5

    # @copyright  Leo Feyer 2005-2010

    # @author     Leo Feyer <http://www.contao.org>

    # @license    LGPL

    ##



    <IfModule mod_deflate.c>



      
    ##

      # Use mod_deflate to compress JavaScript, CSS and XML files. Do not add

      # PHP and HTML files, because those have already been compressed by Contao.

      ##

      
    <FilesMatch "\.(css|js|xml)$">

        
    SetOutputFilter DEFLATE

      
    </FilesMatch>



    </
    IfModule>



    <
    IfModule mod_headers.c>



      
    ##

      # Add a Vary Accept-Encoding header for the compressed resources. If you

      # modify the file types above, make sure to change them here accordingly.

      ##

      
    <FilesMatch "\.(js|css|xml|gz)$">

        
    Header append Vary Accept-Encoding

      
    </FilesMatch>



    </
    IfModule>



    <
    IfModule mod_expires.c>

      
    ExpiresActive On



      
    ##

      # Specify an expiration one week in the future for images, JavaScripts and

      # CSS files (as recommended by Google Page Speed). Edit or remove the lines

      # to set up your own expiration logic.

      ##

      
    ExpiresByType image/png A604800

      ExpiresByType image
    /gif A604800

      ExpiresByType image
    /jpg A604800

      ExpiresByType image
    /jpeg A604800

      ExpiresByType text
    /javascript A604800

      ExpiresByType application
    /x-javascript A604800

      ExpiresByType text
    /css A604800



    </IfModule>



    <
    IfModule mod_rewrite.c>

      
    RewriteEngine On



      
    ##

      # Set the RewriteBase if your Contao installation is in a subdirectoy and

      # the rewrite rules are not working properly. Usage examples:

      #

      #   RewriteBase /contao-2.9.0

      #   RewriteBase /path/to/contao

      #

      # Uncomment the following line to set the RewriteBase.

      ##

      # RewriteBase /



      ##

      # Contao usually does not pass absolute URLs via GET, therefore the

      # following rules block all requests that try to pass a URL or the /etc/

      # directory as parameter (malicious requests).

      ##

      
    RewriteCond %{REQUEST_URI} (ftp|https?):|/etc/ [NC,OR]

      
    RewriteCond %{QUERY_STRING} (ftp|https?):|/etc/ [NC]

      
    RewriteRule .* - [F,L]



      
    ##

      # Uncomment the following lines and replace "domain.com" with your domain

      # name to redirect requests without "www" to the correct domain. 

      ##

      
    RewriteCond %{HTTP_HOST} ^entheo-science\.de [NC]

      
    RewriteRule (.*) http://www.entheo-science.de/$1 [R=301,L]



      ##

      # Do not rewrite requests for static files or folders such as style sheets,

      # images, movies or text documents.

      ##

      
    RewriteCond %{REQUEST_FILENAME} !-f

      RewriteCond 
    %{REQUEST_FILENAME} !-d



      
    ##

      # 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 .* index.php [L]          # No URL suffix

      #   RewriteRule .*\.txt$ index.php [L]    # URL suffix .txt

      #

      # 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!

      ##

      
    RewriteRule .*\.htmlindex.php [L]



    </
    IfModule

  4. #4
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    es geht um diese Zeile
    PHP-Code:
    # RewriteBase / 
    mach daraus
    PHP-Code:
    RewriteBase 
    wenn deine Domain direkt in die Contao Installation zeigt. Sonst müsste da noch das Unterverzeichnis mit rein ( /verzeichnis )
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  5. #5
    Contao-Nutzer Avatar von joe.schraube
    Registriert seit
    22.04.2012.
    Ort
    Dresden
    Beiträge
    81

    Standard RewriteBase /

    RewriteBase / führt noch nicht zum gewünschten Ergebnis auch nicht nach Neustart Apache.

    ( The requested URL /joe.html was not found on this server. )

    Bei mir werden aber auch Werte in /etc/apache2/sites-available/www.webmystik.de geregelt. Vielleicht muß ich auch da was ändern ?

    Die siht so aus :
    PHP-Code:
    <VirtualHost *:80>
        
    ServerAdmin info@webmystik.de
        ServerName www
    .webmystik.de
        ServerAlias webmystik
    .de
        
        DocumentRoot 
    /home/joe/www.webmystik.de

        
    <Directory />
            
    Options FollowSymLinks
            AllowOverride None
        
    </Directory>

        <
    Directory /home/joe/www.webmystik.de>
            
    Options +Indexes +FollowSymLinks +MultiViews
            AllowOverride None
            Order allow
    ,deny
            allow from all
        
    </Directory>
        
        
    Alias /daten /home/joe/DS

            Alias 
    /wiki /var/www/www.instantmystik.de/
            
            
    Alias /ubuntu /var/www/www.instantmystik.de/wiki-ubuntu/

        <
    Location /dav>
                   
    DAV On
            Options 
    +Indexes
            AuthType Basic
            AuthName DAV
            AuthUserFile 
    /var/www/passwd_dav_www.webmystik.de
            
    Require valid-user
        
    </Location>

        
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <
    Directory "/usr/lib/cgi-bin">
            
    AllowOverride None
            Options 
    +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow
    ,deny
            Allow from all
        
    </Directory>

        
    ErrorLog /var/log/apache2/error.log

        
    # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
            # Alias /dav /home/datenschleuder/ linkt webmystik.de/dav nach home
        
    LogLevel warn

        CustomLog 
    /var/log/apache2/access.log combined

    </VirtualHost


    soweit ich verstanden habe lassen sich Anweisungen für den Apache wie er mit Anfragen zu einer Adresse umgehen soll sowohl in der .htaccess als auch in der /etc/apache2/sites-available/www. ...... regeln so man wie in meinem Fall die Rechte dazu besitzt. Doch wie die 2 zusammenspielen und was sie genau regeln .... muß ich mich wohl doch mal einlesen, ich finde leider nichts in deutsch dazu mein englisch ist zu schlecht.

  6. #6
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Die "AllowOverride None " sind glaube ich das Problem, wenn mich nicht alles irrt, wird damit eine Steuerung per .htaccess ausgeschlossen.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  7. #7
    Contao-Nutzer
    Registriert seit
    01.11.2012.
    Ort
    Kiel
    Beiträge
    109

    Standard

    Das ist richtig:
    Wenn diese Anweisung auf None gesetzt wird, dann werden .htaccess-Dateien komplett ignoriert. In diesem Fall wird der Server nicht einmal versuchen, die .htaccess-Dateien im Dateisystem zu lesen.
    Quelle: http://httpd.apache.org/docs/2.2/mod...#AllowOverride

    Wenn du die Einstellung auf "AllowOverride All" änderst, wird der Apache die .htaccess-Dateien lesen und die RewriteRules etc. nutzen.

  8. #8
    Contao-Nutzer Avatar von joe.schraube
    Registriert seit
    22.04.2012.
    Ort
    Dresden
    Beiträge
    81

    Standard

    ok das macht alles soweit Sinn danke für die Hilfe. Was genau funktioniert hat vermelde ich gern wenn ich mal wieder ausreichend schnelles Netz für ssh und https habe. Urlaubsgrüsse aus Gokarna

  9. #9
    Maintainer Avatar von xtra
    Registriert seit
    02.07.2009.
    Ort
    Tuebingen
    Beiträge
    2.007
    User beschenken
    Wunschliste

    Standard

    Wenn man nicht gleich alles erlauben will, dann kann man auch nur die FileInfo overriden lassen
    Code:
    AllowOverride FileInfo
    Ein AllowOverride All laesst ja wirklich alles zu, beim eigenen Server mag das vertretbar sein, aber manche gehen den einfachen Weg und schalten dann einfach alles an, ohne zu beachten was sie damit alles aufmachen (analog zu chmod 777).

    Gruss
    Chris
    Bedenke stets: Wenn Du ungenaue oder unzureichende Angaben machst, so koennte dies die Bearbeitung deiner Frage endlos verzoegern (oder sogar dazu fyhren, dass ich zu viel nachdenken muss und die Antwort vergesse!). Kein Support per PN.

  10. #10
    Contao-Nutzer Avatar von joe.schraube
    Registriert seit
    22.04.2012.
    Ort
    Dresden
    Beiträge
    81

    Standard

    ja tatsächlich in der Apache config der Seite ein : AllowOverride FileInfo reicht auch schon dafür das die .htaccess gelesen wird.
    Auch wenn mir der Unterschied nicht wirklich kar ist klingt auf jeden Fall besser.

    BugBuster schrieb : Wenn du den Suffix "html" auch noch weghaben willst musste aber nochmal was an der .htaccess anpassen.

    im Netz habe ich gefunden : In der .htaccess folgende Zeile aktivieren (Raute "#" VOR der Zeile entfernen):

    RewriteRule .* index.php [L] # No URL suffix

    und es funzt die Links funktionieren jetzt mit und ohne .html

    fein !

  11. #11
    Contao-Nutzer Avatar von joe.schraube
    Registriert seit
    22.04.2012.
    Ort
    Dresden
    Beiträge
    81

    Standard

    mit Contao 3.0.x siht die .htaccess wieder recht anders aus und nach der anleitung hier ist es mir nicht mehr so auf anhieb gelungen.

    der betreffende Abschnitt siht jetzt ca so aus :

    Code:
    # URL rewriting -----------
    
    <IfModule mod_rewrite.c>
      RewriteEngine On
    
      RewriteBase /
    
      <FilesMatch "\.(htm|php|js|css|htc|png|gif|jpe?g|ico|xml|csv|txt|swf|flv|mp3|mp4|webm|ogv|eot|woff|svg|ttf|pdf|gz)$">
        RewriteEngine Off
      </FilesMatch>
    
    
      #   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 .* index.php [L]
      #   RewriteRule (.*\.html)$ index.php/$1 [L]
      
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule .*\.html$ index.php [L]
      RewriteRule ^[a-z]{2}/$ index.php [L]
      RewriteRule ^([a-z]{2})$ $1/ [R=301,L]

    das # vor # RewriteRule (.*\.html)$ index.php/$1 [L] entfernen hat nicht genuegt.

    in der alten stand noch : # No URL suffix in der Zeile dahinter das fehlt jetzt.


    kann mir jemand sagen wie zu editieren ist.

  12. #12
    mpietsch
    Gast

    Standard

    Zitat Zitat von joe.schraube Beitrag anzeigen
    mit Contao 3.0.x siht die .htaccess wieder recht anders aus und nach der anleitung hier ist es mir nicht mehr so auf anhieb gelungen.

    das # vor # RewriteRule (.*\.html)$ index.php/$1 [L] entfernen hat nicht genuegt.

    in der alten stand noch : # No URL suffix in der Zeile dahinter das fehlt jetzt.

    kann mir jemand sagen wie zu editieren ist.
    Hallo Joe,

    wir haben 3.1.1 im Einsatz, kein Suffix (leer) und auszugsweise folgende .htaccess:

    Code:
    <IfModule mod_rewrite.c>
      RewriteEngine On
    
      # Change the RewriteBase if your Contao installation is in a subdirectoy...
      RewriteBase /
    
      # Do not rewrite requests for static files or folders...
      <FilesMatch "\.(htm|php|js|css|htc|png|gif|jpe?g|ico|xml|csv|txt|swf|flv|mp4|webm|ogv|mp3|ogg|oga|eot|woff|svg|ttf|pdf|gz)$">
        RewriteEngine Off
      </FilesMatch>
    
      # If you do not want to use an URL suffix at all ...
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule .* index.php [L]
    
      # If you are using mod_cache ...
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule .*\.html$ index.php [L]
    
      # The following rules are required if you want to pass the language as first ...
      RewriteRule ^[a-z]{2}(\-[A-Z]{2})?/$ index.php [L]
      RewriteRule ^([a-z]{2}(\-[A-Z]{2})?)$ $1/ [R=301,L]
    
    </IfModule>

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
  •