URL rewriting für verschiedene Webserver

Wandelt die URLs eines phpBB Forums so um das der Titel der Foren/Themen darin vor kommt und stellt eine XML-Sitemap bereit.
Status: Beta
Antworten
Benutzeravatar
tas2580
Site Admin
Site Admin
Beiträge: 87
Registriert: 30. Apr 2016 23:29
Wohnort: /home/tas2580
phpBB Version: 3.2
Kontaktdaten:

URL rewriting für verschiedene Webserver

Beitrag von tas2580 » 25. Okt 2016 15:07

Die Extension ändert die Links die vom Forum ausgegeben werden. Damit die umgeschriebenen Links funktionieren muss die Konfiguration des Webservers angepasst werden.

Apache Webserver
Für den Apache Webserver muss im Hauptverzeichnis des Forums die .htaccess (Datei ist versteckt) erweitert werden.

Code: Alles auswählen

RewriteBase /

RewriteRule ^(.*)-f([0-9]*)/(.*)-t([0-9]*)-s([0-9]*).html viewtopic.php?f=$2&t=$4&start=$5&%{QUERY_STRING} [L]
RewriteRule ^(.*)-f([0-9]*)/(.*)-t([0-9]*).html viewtopic.php?f=$2&t=$4&%{QUERY_STRING} [L]
RewriteRule ^(.*)-f([0-9]*)/index-s([0-9]*).html viewforum.php?f=$2&start=$3&%{QUERY_STRING} [L]
RewriteRule ^(.*)-f([0-9]*)/ viewforum.php?f=$2&%{QUERY_STRING} [L]
RewriteRule ^(.*)-f([0-9]*) viewforum.php?f=$2&%{QUERY_STRING} [L]
Falls das Forum in einem Unterordner liegt muss RewriteBase / entsprechend angepasst werden. Wenn das Forum unter domain.tld/forum/ liegt muss der Eintrag RewriteBase /forum/ lauten.


nginx
Für den nginx Webserver muss die Konfigurationsdatei angepasst werden. Die Konfiguration findet man normalerweise unter /etc/nginx/nginx.conf.

Code: Alles auswählen

location / {
	rewrite ^/(.*)-f([0-9]*)/(.*)-t([0-9]*)-s([0-9]*).html /viewtopic.php?f=$2&t=$4&start=$5&$query_string break;
	rewrite ^/(.*)-f([0-9]*)/(.*)-t([0-9]*).html /viewtopic.php?f=$2&t=$4&$query_string break;
	rewrite ^/(.*)-f([0-9]*)/index-s([0-9]*).html /viewforum.php?f=$2&start=$3&$query_string break;
	rewrite ^/(.*)-f([0-9]*)/ /viewforum.php?f=$2&$query_string break;
	rewrite ^/(.*)-f([0-9]*) /viewforum.php?f=$2&$query_string break;
}

Lighttpd
Für den Lighttpd muss die Konfiguration des Webservers angepasst werden. Die Konfiguration findet man normalerweise unter /etc/lighttpd/lighttpd.conf.

Code: Alles auswählen

url.rewrite-once = (
	"/(.*)-f([0-9]*)/(.*)-t([0-9]*)-s([0-9]*).html(\?(.*))?"	=> "/viewtopic.php?f=$2&t=$4&start=$5&$7",
	"/(.*)-f([0-9]*)/(.*)-t([0-9]*).html(\?(.*))?"			=> "/viewtopic.php?f=$2&t=$4&$6",
	"/(.*)-f([0-9]*)/index-s([0-9]*).html(\?(.*))?"			=> "/viewforum.php?f=$2&start=$3&$5",
	"/(.*)-f([0-9]*)/(\?(.*))?"					=> "/viewforum.php?f=$2&$4",
)

Caddy Webserver
Für den Caddy Webserver muss die Konfiguration des Webservers angepasst werden. Die Konfiguration findet man normalerweise unter /etc/caddy/Caddyfile.

Code: Alles auswählen

rewrite {
		regexp /(.*)-f([0-9]*)/(.*)-t([0-9]*)-s([0-9]*).html(\?(.*))?
		to /viewtopic.php?f={2}&t={4}&start={5}&{7}
}
rewrite {
		regexp /(.*)-f([0-9]*)/(.*)-t([0-9]*).html(\?(.*))?
		to /viewtopic.php?f={2}&t={4}&{6}
}
rewrite {
		regexp /(.*)-f([0-9]*)/index-s([0-9]*).html(\?(.*))?
		to /viewforum.php?f={2}&start=${3}&{5}
}
rewrite {
		regexp /(.*)-f([0-9]*)/(\?(.*))?
		to /viewforum.php?f={2}&{4}
}

Antworten

Social Media

       

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast