<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://mediawiki.wissen-ahrensburg.de/index.php?action=history&amp;feed=atom&amp;title=Blog%3A09.02.2026_Lesbar_Url</id>
	<title>Blog:09.02.2026 Lesbar Url - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.wissen-ahrensburg.de/index.php?action=history&amp;feed=atom&amp;title=Blog%3A09.02.2026_Lesbar_Url"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.wissen-ahrensburg.de/index.php?title=Blog:09.02.2026_Lesbar_Url&amp;action=history"/>
	<updated>2026-08-19T17:39:50Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Dokument</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://mediawiki.wissen-ahrensburg.de/index.php?title=Blog:09.02.2026_Lesbar_Url&amp;diff=243&amp;oldid=prev</id>
		<title>imported&gt;Import: Version 168</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.wissen-ahrensburg.de/index.php?title=Blog:09.02.2026_Lesbar_Url&amp;diff=243&amp;oldid=prev"/>
		<updated>2026-02-20T22:46:19Z</updated>

		<summary type="html">&lt;p&gt;Version 168&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).&amp;#039;&amp;#039;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Was ist eine lesbare URL? Braucht man sie oder nicht? Die Suchmaschinen brauchen sie bessere Seiten zu indexieren.&lt;br /&gt;
&lt;br /&gt;
== Wie geht das mit ==&lt;br /&gt;
&lt;br /&gt;
PHP-Routing ermöglicht es, URLs zu strukturieren und auf bestimmte Handler zu verweisen. Ein einfaches Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;?php&lt;br /&gt;
$uri = $_SERVER[&amp;#039;REQUEST_URI&amp;#039;];&lt;br /&gt;
&lt;br /&gt;
// Alle Anfragen an eine zentrale Seite weiterleiten&lt;br /&gt;
$page = ltrim($uri, &amp;#039;/&amp;#039;);&lt;br /&gt;
if ($page === &amp;#039;&amp;#039;) {&lt;br /&gt;
    $page = &amp;#039;index&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
include &amp;quot;pages/{$page}.php&amp;quot;;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Ein ähnlicher Seiten-Router in ASP.NET Core MVC wird durch Routing-Middleware und Controller realisiert. Beispiel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;app.MapControllerRoute(&lt;br /&gt;
&lt;br /&gt;
  name: &amp;amp;quot;default&amp;amp;quot;,&lt;br /&gt;
    pattern: &amp;amp;quot;{*slug}&amp;amp;quot;,&lt;br /&gt;
    defaults: new { controller = &amp;amp;quot;Page&amp;amp;quot;, action = &amp;amp;quot;Index&amp;amp;quot; })&lt;br /&gt;
  .WithStaticAssets();&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Golang Beispiel ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;package main&lt;br /&gt;
&lt;br /&gt;
import (&lt;br /&gt;
    &amp;amp;quot;net/http&amp;amp;quot;&lt;br /&gt;
    &amp;amp;quot;strings&amp;amp;quot;&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
func pageHandler(w http.ResponseWriter, r *http.Request) {&lt;br /&gt;
    slug := strings.Trim(r.URL.Path, &amp;amp;quot;/&amp;amp;quot;)&lt;br /&gt;
    if slug == &amp;amp;quot;&amp;amp;quot; {&lt;br /&gt;
        slug = &amp;amp;quot;index&amp;amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    // Hier würdest du die Seite laden und rendern&lt;br /&gt;
    w.Write([]byte(&amp;amp;quot;Seite: &amp;amp;quot; + slug))&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
func main() {&lt;br /&gt;
    http.HandleFunc(&amp;amp;quot;/&amp;amp;quot;, pageHandler)&lt;br /&gt;
    http.ListenAndServe(&amp;amp;quot;:8080&amp;amp;quot;, nil)&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Braucht man Validierungen für lesbare URLs? ==&lt;br /&gt;
&lt;br /&gt;
Ja, denn ohne Validierungen könnten ungültige Zeichen die Datenbank (z. B. PostgreSQL) beschädigen oder zu Sicherheitsproblemen führen. Es sollten daher bestimmte Zeichen verboten werden.&lt;br /&gt;
&lt;br /&gt;
Typischerweise sollten folgende Zeichen in lesbaren URLs verboten werden:&lt;br /&gt;
&lt;br /&gt;
* Steuerzeichen (ASCII 0–31)&lt;br /&gt;
* Leerzeichen&lt;br /&gt;
* Sonderzeichen wie: `?`, `#`, `%`, `&amp;amp;amp;`, `&amp;amp;lt;`, `&amp;amp;gt;`, `“`, `’`, `\, `:`, `;`, `@`, `=`, `+`, `,`, `{`, `}`, `[`, `]`, `|`, `^`, `` ` ``, `~`&lt;br /&gt;
* Umlaute und andere nicht-ASCII-Zeichen (sofern nicht URL-kodiert)&lt;br /&gt;
&lt;br /&gt;
Eine sichere URL besteht meist nur aus Buchstaben, Zahlen, Bindestrichen (`-`) und Unterstrichen (`_`) und verwendet den Schrägstrich (`/`) für Unterordner.&lt;br /&gt;
&lt;br /&gt;
Beispiel für eine einfache PHP-Validierung:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;function isValidSlug($slug) {&lt;br /&gt;
    return preg_match(&amp;#039;/^[a-zA-Z0-9_-]+$/&amp;#039;, $slug);&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[kategorie:09.02.2026]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;#039;&amp;#039;Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>imported&gt;Import</name></author>
	</entry>
</feed>