Installation in einem Subfolder
Um lowmark in einem Unterverzeichnis (z. B. sub/) betreiben zu können, sind folgende Anpassungen nötig:
index.php
Ergänze im HTML-Header <base> und ardressiere alle Resourcen relativ (ohne führendes Slash aber ausgehend vom Content-Root) – z.B.:
<base href="https://meine-domain.de/sub/" />
<!-- bzw. damit der Preview-Server trotzdem funktioniert: -->
<?php
if (
strpos($_SERVER['HTTP_HOST'], 'localhost') === false &&
strpos($_SERVER['HTTP_HOST'], '127.0.0.1') === false
) {
echo '<base href="https://meine-domain.de/sub/" />';
} else {
echo '<base href="/" />';
}
?>
...
<link href="assets/css/lowmark_blog.css" rel="stylesheet">
.htaccess
- RewriteBase /sub/
- in allen RewriteRules /sub/ voranstellen
- die .htaccess-Datei kommt (natürlich) in den Subfolder!
RewriteEngine On
RewriteBase /sub/
RewriteRule ^(.*)/$ $1/index.html [L]
RewriteRule ^feed\.xml$ feed.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.(html)$
RewriteCond %{REQUEST_URI} !^/sub/content/
RewriteRule ^(.*)$ content/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Links
- Alle Links (redaktionell, Menü, Teaser u.ä.) müssen absolut vom Content-Root-Verzeichnis aus adressiert sein, aber ohne führendes Slash, also z.B.
blog/blog-artikel/index.html - Links auf Sprungziele innerhalb derselben Seite müssen (wegen der base) den Dateinamen und Pfad der Seite enthalten – also z.B.
blog/index.html#anchorstatt#anchor.
Shortcodes
Shortcodes müssen ggf. angepasst oder erweitert werden. Dafür steht die System-Konstante LOWMARK_BASE_PATH zur Verfügung, die in config.php definiert wird.