Personal tools
FAQ/Installation/Pretty URLs/de
From CMSMS
Contents |
Step 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 keine Datei-Endung bei den Seiten-URLs 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.
Step 2 - config.php Änderungen
Nehmen Sie nun die folgenden Änderungen in den "URL-Einstellungen" (URL_Settings) Abschnitt Ihrer config.php Datei vor.
(Anmerkung: Wenn Sie bereits die Install-Anweisung befolgt haben, die config.php auf einen "Nur-Lesen-Status" zu setzen, müssen Sie sie 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".
Step 3 - {metadata} Plugin Aufruf
Fügen Sie den {metadata} Plugin Aufruf im <head> Abschnitt Ihres Templates hinzu. Das sorgt dafür, dass das base href Tag ins Wurzelverzeichnis Ihrer Site 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 sie in einer hierarchischen Weise (www.beispiel.de/eltern/kind) dargestellt werden - und nicht als www.beispiel.de/kind.
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 LightTPD anstelle von Apache 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" )
