我是 .htaccess 和重写函数的新手。我搜索了很多页面,但找不到解决方案。这是我的问题:
我的 kurum.php 文件中有这些格式的网址:
fxrehber.com/kurum.php?id=$krmID&sef=$sef
Run Code Online (Sandbox Code Playgroud)
所以我的正常网址是:
http://fxrehber.com/kurum.php?id=7&sef=ata-forks
我的 .htaccess 的相关部分是:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([0-9]+)-([a-zA-Z0-9-_]+)$ /kurum.php?id=$1&sef=$2
</IfModule>
Run Code Online (Sandbox Code Playgroud)
所以我可以得到这种格式的 SEF 网址:
http://fxrehber.com/7-ata-forks
我有两个问题:
1 . 这个 url 可以使用 .htaccess 更改为这种格式,而无需将 kurum.php 文件移动到新目录中吗?
http://fxrehber.com/kurumlar/7-ata-forks
(我可以通过 .htaccess 添加“/kurumlar”目录,但我的 css 和图像链接不起作用)
2 . 我可以像这样传递 id 值而不在 SEF url 中提及它:
http://fxrehber.com/kurumlar/ata-forks(这对我来说是最好的选择)
如果我不能这样做,我是否必须只使用 $sef 变量从数据库中选择文章?这有什么缺点吗?
我希望这足以解释我的问题。谢谢你。
问题是,我有一个从这个查询得到的数组:
$secimKrm = ("SELECT * FROM kurumlar
INNER JOIN veri_2012_09
ON kurumlar.krmKod = veri_2012_09.krmKod
WHERE kurumlar.krmKod = '$krmKod'");
$sonucKrm = $mysqliKrm->query($secimKrm);
$row = $sonucKrm->fetch_assoc();
Run Code Online (Sandbox Code Playgroud)
"kurumlar"由字符串组成,"veri_2012_09"由大整数组成."veri_2012_09"中有近35列,我不想逐个格式化数字.
当我尝试格式化数组"$ row"中的数字时,我使用:
foreach ($row as $key => $val) {
$row[$key] = number_format($val, 0, ',', '.');
}
Run Code Online (Sandbox Code Playgroud)
它工作,但它会导致错误,(警告:number_format()期望参数1为double,字符串在...中给出)因为我的数组中有字符串.如何在格式化数字之前排除字符串?