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

friendly links

Postby dotphp » Thu Jun 14, 2012 7:30 am

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
dotphp
Forum Newbie
 
Posts: 24
Joined: Sat Nov 10, 2007 9:03 am

Re: friendly links

Postby tr0gd0rr » Thu Jun 14, 2012 2:27 pm

Syntax: [ Download ] [ Hide ]
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]
User avatar
tr0gd0rr
Forum Contributor
 
Posts: 305
Joined: Thu May 11, 2006 8:58 pm
Location: Utah, USA

Re: friendly links

Postby dotphp » Thu Jun 14, 2012 2:43 pm

Thanks, but I need to complete htaccess for this kind of link:
<a href="title-something-1234">blabla</a>
dotphp
Forum Newbie
 
Posts: 24
Joined: Sat Nov 10, 2007 9:03 am

Re: friendly links

Postby requinix » Fri Jun 15, 2012 12:32 am

Are you saying tr0gd0rr's code doesn't work? Because it does.
User avatar
requinix
Spammer :|
 
Posts: 5610
Joined: Wed Oct 15, 2008 2:35 am
Location: WA, USA

Re: friendly links

Postby dotphp » Fri Jun 15, 2012 2:46 am

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 Newbie
 
Posts: 24
Joined: Sat Nov 10, 2007 9:03 am

Re: friendly links

Postby dotphp » Fri Jun 15, 2012 8:24 am

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 ?
dotphp
Forum Newbie
 
Posts: 24
Joined: Sat Nov 10, 2007 9:03 am

Re: friendly links

Postby tr0gd0rr » Fri Jun 15, 2012 12:43 pm

Do you have some other rewrite rules? They may be triggering first.
User avatar
tr0gd0rr
Forum Contributor
 
Posts: 305
Joined: Thu May 11, 2006 8:58 pm
Location: Utah, USA

Re: friendly links

Postby dotphp » Fri Jun 15, 2012 1:49 pm

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]
dotphp
Forum Newbie
 
Posts: 24
Joined: Sat Nov 10, 2007 9:03 am

Re: friendly links

Postby tr0gd0rr » Tue Jun 19, 2012 2:20 pm

Those look ok. Are you sure you don't have more rewrite rules in parent or child folders?
User avatar
tr0gd0rr
Forum Contributor
 
Posts: 305
Joined: Thu May 11, 2006 8:58 pm
Location: Utah, USA


Return to Linux

Who is online

Users browsing this forum: No registered users and 1 guest