Page 1 of 1

Perm links

Posted: Wed 8. Feb 2017, 13:13
by sunics
Hallo zusammen,

ich vermute mal, es ist was ziemlich simples, aber ich finde es nicht :(
wie kann ich in phpwcms permlinks machen.

z. B. www.domain.tld/angebote soll auf www.domain.tld/index.php?angebote zeigen

kann ich das irgendwo einstellen?
vielen Dank im voraus für Eure Hilfe

gruss

Re: Perm links

Posted: Wed 8. Feb 2017, 14:17
by nameless1
entweder .htaccess/ nginx.conf oder unter admin > Verlinkung & Umleitung
normalerweise macht aber der umgekehrte weg sinn (bei mod-rewrite)

Re: Perm links

Posted: Wed 8. Feb 2017, 14:35
by sunics
super merci! mit htaccess klappts
für alle: bei Linux-Servern

Code: Select all

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^angebote$ index.php?angebote [R=301,L]
Für permalinks mit anker

Code: Select all

RewriteRule ^angebote$ index.php?artikelalias#angebote [R=301,L,NE]

Re: Perm links

Posted: Wed 8. Feb 2017, 14:42
by top
Ich vermute auch du meinst den umgekehrten Weg.
Die Adresse http://www.example.com/blablub soll das anzeigen, was bisher unter http://www.example.com/index.php?blablub zu sehen ist.
Sehe ich das richtig?

Hauptsächlich musst du zwei Dinge erledigen.
1. In der Cofig-Datei unter include/config/conf.inc.php findest du folgende zwei Zeilen:

Code: Select all

$phpwcms['rewrite_url']         = 0; // whether URL should be rewritable
$phpwcms['rewrite_ext']         = '.html'; // The extension for URL ReWrite, '.html' -> /alias.html, '/' -> /alias/
Aus dem ersten Eintrag musst du aus der 0 eine 1 machen um das zu aktivieren. Beim zweiten Eintrag musst du das .html entfernen, da du kein Zeichen nach der Adresse ergänzen willst.

So sollte es dann aussehen:

Code: Select all

$phpwcms['rewrite_url']         = 1; // whether URL should be rewritable
$phpwcms['rewrite_ext']         = ''; // The extension for URL ReWrite, '.html' -> /alias.html, '/' -> /alias/
Damit weiß dann das CMS wie es die Links z.B. in der Navigation aufbauen soll.

2. Auf oberster Ebene deiner Seite findest du eine Datei mit dem Namen _.htaccess
Dort sollte es reichen wenn du einfach den Unterstrich an erster Stelle entfernst. Danach heißt diese einfach nur noch .htaccess und sollte (wenn der Server ordentlich konfiguriert ist) dafür sorgen, dass die neuen Dateinamen funktionuckeln.
Achtung! Hast du auf der Seite auch noch eigene Dateien/Ordner zusätzlich angelegt, (z.B. ein Ordner "Fotos-Urlaub-mit-Oma-auf-Malle") musst du in der .htaccess entsprechende Ausnahmen ergänzen.

Code: Select all

...
    # Ignore
    RewriteRule ^(include|img|template|picture|Fotos-Urlaub-mit-Oma-auf-Malle|filearchive|content|setup|robots\.txt|favicon\.ico)($|/) - [L]
Ach ja, Linux-Servern sind Dateien die mit einem Punkt beginnen "versteckte" Dateien. Gegebenenfalls musst du in deinem FTP-Programm noch einstellen, dass auch versteckte Dateien angezeigt werden. Wenn die _.htaccess nach dem Umbenennen verschwunden ist, keine Panik. :wink:


Edit: Ich sehe gerade, dass ich zu langsam war... :?

Re: Perm links

Posted: Wed 8. Feb 2017, 14:45
by sunics
Hallo Top,

danke für Deine ausführliche Erklärung =)
Funktioniert .htaccess auch bei Windows Servern?
oder wie muss das dort gemacht werden?

Re: Perm links

Posted: Wed 8. Feb 2017, 14:59
by Oliver Georgi
Zwingend!!! Wenn keine .html-Endung gewollt, muss ein Slash / die Endung sein

Code: Select all

$phpwcms['rewrite_ext'] = '/';

Re: Perm links

Posted: Wed 8. Feb 2017, 15:01
by Oliver Georgi
Unter Windows mit IIS funktioniert die .htaccess nicht, dort musst Du Dir eine entsprechende web.conf selbst bauen. Es gibt Tools, die das konvertieren, aber man sollte wissen, wie das funktioniert.

Sollte Apache unter Windows laufen, geht die .htaccess auch dort.