小编Ork*_*zel的帖子

将目录名称添加到 SEF url 并传递 id 值而不在 url 中使用它

我是 .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 变量从数据库中选择文章?这有什么缺点吗?

我希望这足以解释我的问题。谢谢你。

php .htaccess url-rewriting sef

5
推荐指数
1
解决办法
433
查看次数

从数组中过滤字符串值以仅格式化数字

问题是,我有一个从这个查询得到的数组:

$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,字符串在...中给出)因为我的数组中有字符串.如何在格式化数字之前排除字符串?

php arrays number-formatting

0
推荐指数
1
解决办法
115
查看次数

标签 统计

php ×2

.htaccess ×1

arrays ×1

number-formatting ×1

sef ×1

url-rewriting ×1