Eigenen einfachen Permalink erstellen?
bearbeitet von Jörg ReinholzMoin!
> Steht darin dann eine Weiterleitung von der reinen text-url zur parameter-url? Heißt das dann, das jeweils, bei einer neu erstellten Anzeige, die htaccess-Datei um eine neue Weiterleitung ergänzt werden muss?
Nein. [In der von von mir verlinkten Quelle steht wie man das mit einem regulärem Ausdruck löst](http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule):
URI:
- http://example.com/shop/Elektronik/toller_staubsauger-0815
soll wie
- http://example.com/shop.php?item=0815 behandelt werden.
in der htaccess:
~~~htaccess
RewriteEngine on
RewriteRule ^/shop/.*-(\d+)$ /shop.php?item=$1 [L]
~~~
Was das tut:
1.)
`^/shop/` Suche alles, was mit /shop/ beginnt und mit
`.*-` beliebigen Zeichen in beliebiger Anzahl, gefolgt von einem Minus fortgesetzt wird und dem
`(\d+)` mindestens eine Ziffer folgt, deren Gruppe Du Dir in $1 gut merkst (die Klammern) und die
`$` am Ende des Strings steht.
2.)
Verarbeite das weiter als sei es die URI
/shop.php?item=
gefolgt von den gut gemerkten Ziffern.
Dann wird
http://example.com/shop/Elektronik/toller_staubsauger-0815
behandelt wie:
http://example.com/shop.php?item=0815
und
http://example.com/shop/foo/bar-223
behandelt wie:
http://example.com/shop.php?item=223
Im Skript shop.php steht die übermittelte ID wie gehabt in: `$_GET['id']`, die ich aber wegen möglicher Fehlangaben putzen würde: `$_GET['id']=intval(trim($_GET['id']))`. Dann wird aus '0815' auch die Zahl 815. Unter dieser ID als Zahl ist (hoffentlich, alles andere wäre sehr schlecht) der Artikel bzw. die Anzeige auch in der Datenbank gespeichert. Vergeben wird die automatisch, wenn der Artikel eingestellt wird. Lese hierzu unter [auto_incement](http://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html) nach. Die URI(s) zusammen zu bauen ist dann triviale Textverarbeitung.
PHP kann je nach verwendeter Methode des Datenbankzugriffs diese ID auch zurück geben, falls Du das brauchst:
[Die Seite mit der veralteten Datenbankzugriffsmethode verweist auf die aktuellen, gebotenen Vorgehensweisen](http://php.net/manual/de/function.mysql-insert-id.php):
Jörg Reinholz
> Steht darin dann eine Weiterleitung von der reinen text-url zur parameter-url? Heißt das dann, das jeweils, bei einer neu erstellten Anzeige, die htaccess-Datei um eine neue Weiterleitung ergänzt werden muss?
Nein. [In der von von mir verlinkten Quelle steht wie man das mit einem regulärem Ausdruck löst](http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule):
URI:
- http://example.com/shop/Elektronik/toller_staubsauger-0815
soll wie
- http://example.com/shop.php?item=0815 behandelt werden.
in der htaccess:
~~~htaccess
RewriteEngine on
RewriteRule ^/shop/.*-(\d+)$ /shop.php?item=$1 [L]
~~~
Was das tut:
1.)
`^/shop/` Suche alles, was mit /shop/ beginnt und mit
`.*-` beliebigen Zeichen in beliebiger Anzahl, gefolgt von einem Minus fortgesetzt wird und dem
`(\d+)` mindestens eine Ziffer folgt, deren Gruppe Du Dir in $1 gut merkst (die Klammern) und die
`$` am Ende des Strings steht.
2.)
Verarbeite das weiter als sei es die URI
/shop.php?item=
gefolgt von den gut gemerkten Ziffern.
Dann wird
http://example.com/shop/Elektronik/toller_staubsauger-0815
behandelt wie:
http://example.com/shop.php?item=0815
und
http://example.com/shop/foo/bar-223
behandelt wie:
http://example.com/shop.php?item=223
Im Skript shop.php steht die übermittelte ID wie gehabt in: `$_GET['id']`, die ich aber wegen möglicher Fehlangaben putzen würde: `$_GET['id']=intval(trim($_GET['id']))`. Dann wird aus '0815' auch die Zahl 815. Unter dieser ID als Zahl ist (hoffentlich, alles andere wäre sehr schlecht) der Artikel bzw. die Anzeige auch in der Datenbank gespeichert. Vergeben wird die automatisch, wenn der Artikel eingestellt wird. Lese hierzu unter [auto_incement](http://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html) nach. Die URI(s) zusammen zu bauen ist dann triviale Textverarbeitung.
PHP kann je nach verwendeter Methode des Datenbankzugriffs diese ID auch zurück geben, falls Du das brauchst:
[Die Seite mit der veralteten Datenbankzugriffsmethode verweist auf die aktuellen, gebotenen Vorgehensweisen](http://php.net/manual/de/function.mysql-insert-id.php):
Jörg Reinholz
Eigenen einfachen Permalink erstellen?
bearbeitet von Jörg ReinholzMoin!
> Steht darin dann eine Weiterleitung von der reinen text-url zur parameter-url? Heißt das dann, das jeweils, bei einer neu erstellten Anzeige, die htaccess-Datei um eine neue Weiterleitung ergänzt werden muss?
Nein. [In der von von mir verlinkten Quelle steht wie man das mit einem regulärem Ausdruck löst](http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule):
URI:
- http://example.com/shop/Elektronik/toller_staubsauger-0815
soll wie
- http://example.com/shop.php?item=0815 behandelt werden.
in der htaccess:
~~~htaccess
RewriteEngine on
RewriteRule ^/shop/.*-(\d+)$ /shop.php?item=$1 [L]
~~~
Was das tut:
1.)
`^/shop/` Suche alles, was mit /shop/ beginnt und mit
`.*-` beliebigen Zeichen in beliebiger Anzahl, gefolgt von einem Minus fortgesetzt wird und dem
`(\d+)` mindestens eine Ziffer folgt, deren Gruppe Du Dir in $1 gut merkst (die Klammern) und die
`$` am Ende des Strings steht.
2.)
Verarbeite das weiter als sei es die URI
/shop.php?item=
gefolgt von den gut gemerkten Ziffern.
Dann wird
http://example.com/shop/Elektronik/toller_staubsauger-0815
behandelt wie:
http://example.com/shop.php?item=0815
und
http://example.com/shop/foo/bar-223
behandelt wie:
http://example.com/shop.php?item=223
Im Skript shop.php steht die übermittelte ID wie gehabt in: `$_GET['id']`, die ich aber wegen möglicher Fehlangaben putzen würde: `$_GET['id']=intval(trim($_GET['id']))`. Dann wird aus '0815' auch die Zahl 815. Unter dieser ID als Zahl ist (hoffentlich, alles andere wäre sehr schlecht) der Artikel bzw. die Anzeige auch in der Datenbank gespeichert. Vergeben wird die automatisch, wenn der Artikel eingestellt wird.(liLese hierzu unter [auto_incement](http://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html) nach. Die URI(s) zusammenzubauen ist dann triviale Textverarbeitung.
PHP kann je nach verwendeter Methode des Datenbankzugriffs diese ID auch zurück geben, falls Du das brauchst:
[Die Seite mit der veralteten Datenbankzugriffsmethode verweist auf die aktuellen, gebotenen Vorgehensweisen](http://php.net/manual/de/function.mysql-insert-id.php):
Jörg Reinholz
> Steht darin dann eine Weiterleitung von der reinen text-url zur parameter-url? Heißt das dann, das jeweils, bei einer neu erstellten Anzeige, die htaccess-Datei um eine neue Weiterleitung ergänzt werden muss?
Nein. [In der von von mir verlinkten Quelle steht wie man das mit einem regulärem Ausdruck löst](http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule):
URI:
- http://example.com/shop/Elektronik/toller_staubsauger-0815
soll wie
- http://example.com/shop.php?item=0815 behandelt werden.
in der htaccess:
~~~htaccess
RewriteEngine on
RewriteRule ^/shop/.*-(\d+)$ /shop.php?item=$1 [L]
~~~
Was das tut:
1.)
`^/shop/` Suche alles, was mit /shop/ beginnt und mit
`.*-` beliebigen Zeichen in beliebiger Anzahl, gefolgt von einem Minus fortgesetzt wird und dem
`(\d+)` mindestens eine Ziffer folgt, deren Gruppe Du Dir in $1 gut merkst (die Klammern) und die
`$` am Ende des Strings steht.
2.)
Verarbeite das weiter als sei es die URI
/shop.php?item=
gefolgt von den gut gemerkten Ziffern.
Dann wird
http://example.com/shop/Elektronik/toller_staubsauger-0815
behandelt wie:
http://example.com/shop.php?item=0815
und
http://example.com/shop/foo/bar-223
behandelt wie:
http://example.com/shop.php?item=223
Im Skript shop.php steht die übermittelte ID wie gehabt in: `$_GET['id']`, die ich aber wegen möglicher Fehlangaben putzen würde: `$_GET['id']=intval(trim($_GET['id']))`. Dann wird aus '0815' auch die Zahl 815. Unter dieser ID als Zahl ist (hoffentlich, alles andere wäre sehr schlecht) der Artikel bzw. die Anzeige auch in der Datenbank gespeichert. Vergeben wird die automatisch, wenn der Artikel eingestellt wird.
PHP kann je nach verwendeter Methode des Datenbankzugriffs diese ID auch zurück geben, falls Du das brauchst:
[Die Seite mit der veralteten Datenbankzugriffsmethode verweist auf die aktuellen, gebotenen Vorgehensweisen](http://php.net/manual/de/function.mysql-insert-id.php):
Jörg Reinholz
Eigenen einfachen Permalink erstellen?
bearbeitet von Jörg ReinholzMoin!
> Steht darin dann eine Weiterleitung von der reinen text-url zur parameter-url? Heißt das dann, das jeweils, bei einer neu erstellten Anzeige, die htaccess-Datei um eine neue Weiterleitung ergänzt werden muss?
Nein. [In der von von mir verlinkten Quelle steht wie man das mit einem regulärem Ausdruck löst](http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule):
URI:
- http://example.com/shop/Elektronik/toller_staubsauger-0815
soll wie
- http://example.com/shop.php?item=0815 behandelt werden.
in der htaccess:
~~~htaccess
RewriteEngine on
RewriteRule ^/shop/.*-(\d+)$ /shop.php?item=$1 [L]
~~~
Was das tut:
1.)
`^/shop/` Suche alles, was mit /shop/ beginnt und mit
`.*-` beliebigen Zeichen in beliebiger Anzahl, gefolgt von einem Minus fortgesetzt wird und dem
`(\d+)` mindestens eine Ziffer folgt, deren Gruppe Du Dir in $1 gut merkst (die Klammern) und die
`$` am Ende des Strings steht.
2.)
Verarbeite das weiter als sei es die URI
/shop.php?item=
gefolgt von den gut gemerkten Ziffern.
Dann wird
http://example.com/shop/Elektronik/toller_staubsauger-0815
behandelt wie:
http://example.com/shop.php?item=0815
und
http://example.com/shop/foo/bar-223
behandelt wie:
http://example.com/shop.php?item=223
Im Skript shop.php steht die übermittelte ID wie gehabt in: `$_GET['id']`, die ich aber wegen möglicher Fehlangaben putzen würde: `$_GET['id']=intval(trim($_GET['id']))`. Dann wird aus '0815' auch die Zahl 815. Unter dieser ID als Zahl ist (hoffentlich, alles andere wäre sehr schlecht) der Artikel bzw. die Anzeige auch in der Datenbank gespeichert. Vergeben wird die automatisch, wenn der Artikel eingestellt wird. (lies hierzu unter [auto_incement](http://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html) nach.
PHP kann je nach verwendeter Methode des Datenbankzugriffs diese ID auch zurück geben, falls Du das brauchst:
[Die Seite mit der veralteten Datenbankzugriffsmethode verweist auf die aktuellen, gebotenen Vorgehensweisen](http://php.net/manual/de/function.mysql-insert-id.php):
Jörg Reinholz
> Steht darin dann eine Weiterleitung von der reinen text-url zur parameter-url? Heißt das dann, das jeweils, bei einer neu erstellten Anzeige, die htaccess-Datei um eine neue Weiterleitung ergänzt werden muss?
Nein. [In der von von mir verlinkten Quelle steht wie man das mit einem regulärem Ausdruck löst](http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule):
URI:
- http://example.com/shop/Elektronik/toller_staubsauger-0815
soll wie
- http://example.com/shop.php?item=0815 behandelt werden.
in der htaccess:
~~~htaccess
RewriteEngine on
RewriteRule ^/shop/.*-(\d+)$ /shop.php?item=$1 [L]
~~~
Was das tut:
1.)
`^/shop/` Suche alles, was mit /shop/ beginnt und mit
`.*-` beliebigen Zeichen in beliebiger Anzahl, gefolgt von einem Minus fortgesetzt wird und dem
`(\d+)` mindestens eine Ziffer folgt, deren Gruppe Du Dir in $1 gut merkst (die Klammern) und die
`$` am Ende des Strings steht.
2.)
Verarbeite das weiter als sei es die URI
/shop.php?item=
gefolgt von den gut gemerkten Ziffern.
Dann wird
http://example.com/shop/Elektronik/toller_staubsauger-0815
behandelt wie:
http://example.com/shop.php?item=0815
und
http://example.com/shop/foo/bar-223
behandelt wie:
http://example.com/shop.php?item=223
Im Skript shop.php steht die übermittelte ID wie gehabt in: `$_GET['id']`, die ich aber wegen möglicher Fehlangaben putzen würde: `$_GET['id']=intval(trim($_GET['id']))`. Dann wird aus '0815' auch die Zahl 815. Unter dieser ID als Zahl ist (hoffentlich, alles andere wäre sehr schlecht) der Artikel bzw. die Anzeige auch in der Datenbank gespeichert. Vergeben wird die automatisch, wenn der Artikel eingestellt wird. (lies hierzu unter [auto_incement](http://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html) nach.
PHP kann je nach verwendeter Methode des Datenbankzugriffs diese ID auch zurück geben, falls Du das brauchst:
[Die Seite mit der veralteten Datenbankzugriffsmethode verweist auf die aktuellen, gebotenen Vorgehensweisen](http://php.net/manual/de/function.mysql-insert-id.php):
Jörg Reinholz
Eigenen einfachen Permalink erstellen?
bearbeitet von Jörg ReinholzMoin!
> Steht darin dann eine Weiterleitung von der reinen text-url zur parameter-url? Heißt das dann, das jeweils, bei einer neu erstellten Anzeige, die htaccess-Datei um eine neue Weiterleitung ergänzt werden muss?
Nein. [In der von von mir verlinkten Quelle steht wie man das mit einem regulärem Ausdruck löst](http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule):
URI:
- http://example.com/shop/Elektronik/toller_staubsauger-0815
soll wie
- http://example.com/shop.php?item=0815 behandelt werden.
in der htaccess:
~~~htaccess
RewriteEngine on
RewriteRule ^/shop/.*-(\d+)$ /shop.php?item=$1 [L]
~~~
Was das tut:
1.)
`^/shop/` Suche alles, was mit /shop/ beginnt und mit
`.*-` beliebigen Zeichen in beliebiger Anzahl, gefolgt von einem Minus fortgesetzt wird und dem
`(\d+)` mindestens eine Ziffer folgt, deren Gruppe Du Dir in $1 gut merkst (die Klammern) und die
`$` am Ende des Strings steht.
2.)
Verarbeite das weiter als sei es die URI
/shop.php?item=
gefolgt von den gut gemerkten Ziffern.
Dann wird
http://example.com/shop/Elektronik/toller_staubsauger-0815
behandelt wie:
http://example.com/shop.php?item=0815
und
http://example.com/shop/foo/bar-223
behandelt wie:
http://example.com/shop.php?item=223
Im Skript shop.php steht die übermittelte ID wie gehabt in: `$_GET['id']`, die aber wegen möglicher Fehlangaben putzen würde: `$_GET['id']=intval(trim($_GET['id']))`. Dann wird aus '0815' auch die Zahl 815. Unter dieser ID als Zahl ist (hoffentlich, alles andere wäre sehr schlecht) der Artikel bzw. die Anzeige auch in der Datenbank gespeichert. Vergeben wird die automatisch, wenn der Artikel eingestellt wird. (lies hierzu unter`[auto_incement](http://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html)` nach.
PHP kann je nach verwendeter Methode des Datenbankzugriffs diese ID auch zurück geben, falls Du das brauchst:
[Die Seite mit der veralteten Datenbankzugriffsmethode verweist auf die aktuellen, gebotenen Vorgehensweisen](http://php.net/manual/de/function.mysql-insert-id.php):
Jörg Reinholz
> Steht darin dann eine Weiterleitung von der reinen text-url zur parameter-url? Heißt das dann, das jeweils, bei einer neu erstellten Anzeige, die htaccess-Datei um eine neue Weiterleitung ergänzt werden muss?
Nein. [In der von von mir verlinkten Quelle steht wie man das mit einem regulärem Ausdruck löst](http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule):
URI:
- http://example.com/shop/Elektronik/toller_staubsauger-0815
soll wie
- http://example.com/shop.php?item=0815 behandelt werden.
in der htaccess:
~~~htaccess
RewriteEngine on
RewriteRule ^/shop/.*-(\d+)$ /shop.php?item=$1 [L]
~~~
Was das tut:
1.)
`^/shop/` Suche alles, was mit /shop/ beginnt und mit
`.*-` beliebigen Zeichen in beliebiger Anzahl, gefolgt von einem Minus fortgesetzt wird und dem
`(\d+)` mindestens eine Ziffer folgt, deren Gruppe Du Dir in $1 gut merkst (die Klammern) und die
`$` am Ende des Strings steht.
2.)
Verarbeite das weiter als sei es die URI
/shop.php?item=
gefolgt von den gut gemerkten Ziffern.
Dann wird
http://example.com/shop/Elektronik/toller_staubsauger-0815
behandelt wie:
http://example.com/shop.php?item=0815
und
http://example.com/shop/foo/bar-223
behandelt wie:
http://example.com/shop.php?item=223
Im Skript shop.php steht die übermittelte ID wie gehabt in: `$_GET['id']`, die aber wegen möglicher Fehlangaben putzen würde: `$_GET['id']=intval(trim($_GET['id']))`. Dann wird aus '0815' auch die Zahl 815. Unter dieser ID als Zahl ist (hoffentlich, alles andere wäre sehr schlecht) der Artikel bzw. die Anzeige auch in der Datenbank gespeichert. Vergeben wird die automatisch, wenn der Artikel eingestellt wird. (lies hierzu unter
PHP kann je nach verwendeter Methode des Datenbankzugriffs diese ID auch zurück geben, falls Du das brauchst:
[Die Seite mit der veralteten Datenbankzugriffsmethode verweist auf die aktuellen, gebotenen Vorgehensweisen](http://php.net/manual/de/function.mysql-insert-id.php):
Jörg Reinholz
Eigenen einfachen Permalink erstellen?
bearbeitet von Jörg ReinholzMoin!
> Steht darin dann eine Weiterleitung von der reinen text-url zur parameter-url? Heißt das dann, das jeweils, bei einer neu erstellten Anzeige, die htaccess-Datei um eine neue Weiterleitung ergänzt werden muss?
Nein. [In der von von mir verlinkten Quelle steht wie man das mit einem regulärem Ausdruck löst](http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule):
URI:
- http://example.com/shop/Elektronik/toller_staubsauger-0815
soll wie
- http://example.com/shop.php?item=0815 behandelt werden.
in der htaccess:
~~~htaccess
RewriteEngine on
RewriteRule ^/shop/.*-(\d+)$ /shop.php?item=$1 [L]
~~~
Was das tut:
1.)
`^/shop/` Suche alles, was mit /shop/ beginnt und mit
`.*-` beliebigen Zeichen in beliebiger Anzahl, gefolgt von einem Minus fortgesetzt wird und dem
`(\d+)` mindestens eine Ziffer folgt, deren Gruppe Du Dir in $1 gut merkst (die Klammern) und die
`$` am Ende des Strings steht.
2.)
Verarbeite das weiter als sei es die URI
/shop.php?item=
gefolgt von den gut gemerkten Ziffern.
Dann wird
http://example.com/shop/Elektronik/toller_staubsauger-0815
behandelt wie:
http://example.com/shop.php?item=0815
und
http://example.com/shop/foo/bar-223
behandelt wie:
http://example.com/shop.php?item=223
Im Skript shop.php steht die übermittelte ID wie gehabt in: `$_GET['id']`, die aber wegen möglicher Fehlangaben putzen würde: `$_GET['id']=intval(trim($_GET['id']))`. Dann wird aus '0815' auch die Zahl 815. Unter dieser ID als Zahl ist (hoffentlich, alles andere wäre sehr schlecht) der Artikel bzw. die Anzeige auch in der Datenbank gespeichert. Vergeben wird die automatisch, wenn der Artikel eingestellt wird. (lies hierzu unter `[auto_incement](http://dev.mysql.com/doc/refman/5.7/en/example-auto-increment.html)` nach.
PHP kann je nach verwendeter Methode des Datenbankzugriffs diese ID auch zurück geben, falls Du das brauchst:
[Die Seite mit der veralteten Datenbankzugriffsmethode verweist auf die aktuellen, gebotenen Vorgehensweisen](http://php.net/manual/de/function.mysql-insert-id.php):
Jörg Reinholz