Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

adding directory name into SEF url and also passing id value without using it in url

I'm a newbie about .htaccess and rewrite functions. I've searched many pages but I couldn't find a solution. Here's my problem:

I have urls in these formats in my kurum.php file:

fxrehber.com/kurum.php?id=$krmID&sef=$sef

so my normal url is:

http://fxrehber.com/kurum.php?id=7&sef=ata-foreks

related part of my .htaccess is:

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On
  RewriteRule ^([0-9]+)-([a-zA-Z0-9-_]+)$ /kurum.php?id=$1&sef=$2
</IfModule>

So I can get SEF urls in this format:

http://fxrehber.com/7-ata-foreks

I have two questions:

1 . Can this url changed into this format with .htaccess without moving kurum.php file into a new directory?

http://fxrehber.com/kurumlar/7-ata-foreks

(I can add "/kurumlar" directory by .htaccess but my css and image link won't work)

2 . Can I pass the id value without mentioning it in the SEF url like this:

http://fxrehber.com/kurumlar/ata-foreks (which is the best option for me)

If I cannot do this, do I have to use only $sef variable to select articles from the database? Is there a disadvantage about this?

I hope this is enough explanation about my problem. Thank you.

like image 265
Orkun Tuzel Avatar asked Nov 04 '22 11:11

Orkun Tuzel


1 Answers

1 . Can this url changed into this format with .htaccess without moving kurum.php file into a new directory?

http://fxrehber.com/kurumlar/7-ata-foreks

(I can add "/kurumlar" directory by .htaccess but my css and image link won't work)


I used full path of the image inside php file and it works with this: .htaccess:

<IfModule mod_rewrite.c>
  Options +FollowSymlinks
  RewriteEngine On
  RewriteRule ^kurumlar\/([0-9]+)-([a-zA-Z0-9-_]+)$ /kurum.php?id=$1&sef=$2
</IfModule>

kurum.php:

<?php
    var_dump($_REQUEST);
?>
<img src="/sites/default/files/1.png">

2 . Can I pass the id value without mentioning it in the SEF url like this:

http://fxrehber.com/kurumlar/ata-foreks (which is the best option for me)


Only if ata-foreks can be used as a unique alias of an article and used instead of id.

"Is there a disadvantage about this?"

Yes. Searching by string is slower, then by integer.

like image 191
user4035 Avatar answered Nov 08 '22 07:11

user4035