我是关于.htaccess和重写功能的新手。 我搜索了很多页面,但找不到解决方案。 这是我的问题:
我的kurum.php文件中有这些格式的网址:
fxrehber.com/kurum.php?id=$krmID&sef=$sef
所以我的正常网址是:
http://fxrehber.com/kurum.php?id=7&sef=ata-foreks
我的.htaccess的相关部分是:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([0-9]+)-([a-zA-Z0-9-_]+)$ /kurum.php?id=$1&sef=$2
</IfModule>
所以我可以用这种格式获得SEF网址:
http://fxrehber.com/7-ata-foreks
我有两个问题:
1。可以使用.htaccess将此网址更改为此格式,而无需将kurum.php文件移动到新目录中吗?
http://fxrehber.com/kurumlar/7-ata-foreks
(我可以通过.htaccess添加“/ kurumlar”目录,但我的css和图片链接不起作用)
2。我是否可以传递id值而不在SEF网址中提及它:
http://fxrehber.com/kurumlar/ata-foreks (这是我的最佳选择)
如果我不能这样做,我是否必须只使用$ sef变量来从数据库中选择文章?对此有不利之处吗?
我希望这是对我的问题的充分解释。 谢谢。
答案 0 :(得分:1)
1。可以使用.htaccess将此网址更改为此格式,而无需将kurum.php文件移动到新目录中吗?
http://fxrehber.com/kurumlar/7-ata-foreks
(我可以通过.htaccess添加“/ kurumlar”目录,但我的css和图片链接不起作用)
我在php文件中使用了图像的完整路径,它适用于: 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。我是否可以传递id值而不在SEF网址中提及它:
http://fxrehber.com/kurumlar/ata-foreks
(这是我的最佳选择)
仅当ata-foreks
可以用作文章的唯一别名并使用而不是id。
“这有不妥之处吗?”
是。按字符串搜索较慢,然后按整数搜索。