friendly links

Whether you are using Linux on the desktop or as a server, it's still good that you're using Linux. Linux related questions go here.

Moderator: General Moderators

Post Reply
dotphp
Forum Commoner
Posts: 25
Joined: Sat Nov 10, 2007 8:03 am

friendly links

Post by dotphp »

Hello,

I have link in my site like:
<a href="index.php?page=article&title=title-something&id=1234">blabla</a>

I want to use in my site friendly links like:
<a href="title-something-1234">blabla</a>

Where "title-something" is a title from an article and "1234" it's his ID.
How can I change the htaccess file in order if I click on that link to show that article but to make the mysql select query by ID ?

Thanks
User avatar
tr0gd0rr
Forum Contributor
Posts: 305
Joined: Thu May 11, 2006 8:58 pm
Location: Utah, USA

Re: friendly links

Post by tr0gd0rr »

Code: Select all

RewriteEngine On
RewriteRule ^(.+)-([0-9]+)$ index.php?page=article&title=$1&id=$2 [QSA,L]
# OR if you might have other types of URLs that end with dash and numbers:
RewriteRule ^article/(.+)-([0-9]+)$ index.php?page=article&title=$1&id=$2 [QSA,L]
dotphp
Forum Commoner
Posts: 25
Joined: Sat Nov 10, 2007 8:03 am

Re: friendly links

Post by dotphp »

Thanks, but I need to complete htaccess for this kind of link:
<a href="title-something-1234">blabla</a>
User avatar
requinix
Spammer :|
Posts: 6617
Joined: Wed Oct 15, 2008 2:35 am
Location: WA, USA

Re: friendly links

Post by requinix »

Are you saying tr0gd0rr's code doesn't work? Because it does.
dotphp
Forum Commoner
Posts: 25
Joined: Sat Nov 10, 2007 8:03 am

Re: friendly links

Post by dotphp »

It does, but only if I set the link like: <a href="tablouri_det/title-'.$id.'" >

I want to set the link like: <a href="title-'.$id.'" > . If I use in this way with the code for htaccess sent by tr0gd0rr, it doesn't work. Somehow I need to hide the page from the link.
dotphp
Forum Commoner
Posts: 25
Joined: Sat Nov 10, 2007 8:03 am

Re: friendly links

Post by dotphp »

I get it, it's ok.
But now I have:
RewriteRule ^(.+)-([0-9]+)$ index.php?page=tablouri_det&title=$1&id_tab=$2 [QSA,L]
RewriteRule ^(.+)-([0-9]+)$ index.php?page=tablouri&title=$1&id_tab=$2 [QSA,L]

And the link is: <a href="title-'.$id.'" >. Obviously is not working because he don't know what rule should take. Can can I use this link without showing the page ?
User avatar
tr0gd0rr
Forum Contributor
Posts: 305
Joined: Thu May 11, 2006 8:58 pm
Location: Utah, USA

Re: friendly links

Post by tr0gd0rr »

Do you have some other rewrite rules? They may be triggering first.
dotphp
Forum Commoner
Posts: 25
Joined: Sat Nov 10, 2007 8:03 am

Re: friendly links

Post by dotphp »

RewriteEngine on
RewriteRule ^sitemap/.*$ - [PT]
RewriteRule ^administrator/.*$ - [PT]
RewriteRule ^temp/.*$ - [PT]
ErrorDocument 404 /http://www.picturi-celebre.ro

RewriteRule ^picturi~(.+)~(.+)~([0-9]+)$ index.php?page=picturi&filtru=$1&tip=$2&gal=$3 [QSA,L]
RewriteRule ^(.+)-([0-9]+)$ index.php?page=tablouri_det&title=$1&id_tab=$2 [QSA,L]
RewriteRule ^contact$ index.php?page=contact [QSA,L]
RewriteRule ^account$ index.php?page=account [QSA,L]
RewriteRule ^artisti~([0-9]+)$ index.php?page=artisti&gal=$1 [QSA,L]
RewriteRule ^promotii~([0-9]+)$ index.php?page=picturi&filtru=promotii&gal=$1 [QSA,L]
RewriteRule ^expozitie-de-picturi$ index.php?page=expozitie-de-picturi [QSA,L]
RewriteRule ^expozitie-de-picturi~(.+)$ index.php?page=expozitie-de-picturi&id_tab=$1 [QSA,L]
User avatar
tr0gd0rr
Forum Contributor
Posts: 305
Joined: Thu May 11, 2006 8:58 pm
Location: Utah, USA

Re: friendly links

Post by tr0gd0rr »

Those look ok. Are you sure you don't have more rewrite rules in parent or child folders?
Post Reply