Contents |
Schritt 1 - .htaccess Datei
Erstellen oder verändern Sie eine bestehende .htaccess Datei und ergänzen bzw. ersetzen Sie den Code mit den folgenden Informationen. Bestimmte Serverkonfigurationen können den Zusatz 'RewriteBase /' nach dem 'RewriteEngine on' Befehl erwarten. Wenn Ihre CMS Made Simple Installation sich in einem Unterverzeichnis befindet, müssen Sie 'RewriteBase /' mit 'RewriteBase /cms/' ersetzen (wobei /cms/ der von Ihnen verwendete Name sein muss).
Keine Datei-Endung
Diese Konfigurationseinstellung bewirkt, dass bei den Seiten-URLs keine Datei-Endung angezeigt wird. Die URLs sehen in etwa so wie diese aus: www.beispiel.de/seite1/; wenn use_hierarchy aktiviert ist, sehen verschachtelte Seiten (Unterseiten) etwa so aus: www.beispiel.de/seite1/seite11.
Options +FollowSymLinks RewriteEngine on RewriteBase / # 301 Redirect all requests that don't contain a dot or trailing slash to # include a trailing slash RewriteCond %{REQUEST_URI} !/$ RewriteCond %{REQUEST_URI} !\. RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L] # Rewrites urls in the form of /parent/child/ # but only rewrites if the requested URL is not a file or directory RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)$ index.php?page=$1 [QSA]
.htm Datei-Endung
Diese Konfiguration verwendet eine .htm Datei-Endung für die Seiten. Die URLs der Seiten sehen etwa so aus: www.beispiel.de/seite1.htm und wenn use_hierarchy eingeschaltet ist, sehen verschachtelte Seiten (Unterseiten) etwa so aus: www.beispiel.de/seite1/seite1.htm.
Options +FollowSymLinks RewriteEngine on RewriteBase / # 301 Redirect all requests that don't contain a dot or trailing slash to # include a trailing slash # RewriteCond %{REQUEST_URI} !/$ # RewriteCond %{REQUEST_URI} !\. # RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L] # Rewrites urls in the form of /parent/child/ # but only rewrites if the requested URL is not a file or directory RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+).htm$ index.php?page=$1 [QSA]
Speichern Sie die Änderungen ab und laden Sie die Seite als '.htaccess' (keine Dateiendung wie txt o.ä. verwenden!) ins Wurzelverzeichnis Ihres Webservers hoch.
Schritt 2 - config.php Änderungen
Nehmen Sie nun Ihrer config.php Datei im Abschnitt "URL-Einstellungen" (URL_Settings) die folgenden Änderungen vor.
(Anmerkung: Wenn Sie bereits die Install-Anweisung befolgt haben, die config.php auf einen "Nur-Lesen-Status" zu setzen, müssen Sie diesen zeitweilig auf 666 oder 777 zurücksetzen, um sie editieren und speichern zu können.)
#------------ #URL Settings #------------ #Show mod_rewrite URLs in the menu? You must enable 'use_hierarchy' for this to work for modules $config['assume_mod_rewrite'] = true; #Extension to use if you're using mod_rewrite for pretty URLs. $config['page_extension'] = '/'; #If you don't use mod_rewrite, then would you like to use the built-in #pretty url mechanism? This will not work with IIS and the {metadata} tag #should be in all of your templates before enabling. $config['internal_pretty_urls'] = true; #If you're using the internal pretty url mechanism or mod_rewrite, would you like to #show urls in their hierarchy? (ex. http://www.mysite.com/parent/parent/childpage) $config['use_hierarchy'] = true; #If using none of the above options, what should we be using for the query string #variable? (ex. http://www.mysite.com/index.php?page=somecontent) $config['query_var'] = 'page';
Anmerkung - Namens-Änderung mit V1.6.
#------------ #URL Settings #------------ #What type of URL rewriting should we be using for pretty URLs? Valid options are: #'none', 'internal', and 'mod_rewrite'. 'internal' will not work with IIS some CGI #configurations. 'mod_rewrite' requires proper apache configuration, a valid #.htaccess file and most likely {metadata} in your page templates. For more #information, see: #http://wiki.cmsmadesimple.org/index.php/FAQ/Installation/Pretty_URLs#Pretty_URL.27s $config['url_rewriting'] = 'mod_rewrite'; #Extension to use if you're using mod_rewrite for pretty URLs. $config['page_extension'] = ''; # oder $config['page_extension'] = '.html'; # oder $config['page_extension'] = '.htm';
Wenn Sie die .htm Datei-Erweiterung nutzen, ersetzen Sie bitte "/" durch ".htm".
Schritt 3 - {metadata} Plugin Aufruf
Fügen Sie den {metadata} Plugin Aufruf im <head> Abschnitt Ihres Templates hinzu. Das sorgt unter anderem dafür, dass das base href Tag ins Wurzelverzeichnis Ihrer Webseite eingefügt wird und dass relative Pfade und Bildfunktionen wie beabsichtigt funktionieren.
Die use_hierarchy Einstellung in der Konfigurationsdatei (siehe Step 2) wird verschachtelte Seiten-URLs so umwandeln, dass diese in einer hierarchischen Weise (www.beispiel.de/übergeordnete_Seite/untergeordnete_Seite) dargestellt werden - und nicht als www.beispiel.de/untergeordnete_seite.
Machen Sie sich keine Gedanken darüber, dass bereits vorher bekanntgegebene Links nicht mehr funktionieren könnten - beide Varianten funktionieren parallel.
LightTPD Konfiguration
Wenn Sie anstelle von Apache den LigHTTPD-Server verwenden, sollte folgende Konfigurationseinstellung funktionieren. Diesen Abschnitt sollten Sie in Ihre lighttpd.conf Datei einfügen:
url.rewrite-final = ( "^/(admin)/(.*)$" => "/$1/$2", "^/([^.?]*)$" => "/index.php?page=$1" )