我想在php中回复斜杠,如下所示
<a class="submenu" href="<?php echo base_url('products').'/'.rawurlencode('Agarbatte/Candle');?>"
Agarbatte/Candle
不是目录,但是当我这样做时,href
将此作为目录并给我找不到错误页面。
任何帮助将不胜感激。
答案 0 :(得分:3)
网址中的斜杠始终将被视为目录分隔符。如果你用其他东西替换它,你将不再有斜线。但这很可能是最简单的解决方案..
如果您在URL中的路径与文件系统之间存在1:1映射,则表示运气不佳。如果您的应用程序使用“路由层”,则可以修改它以在满足某些条件时不将/
视为分隔符。
答案 1 :(得分:1)
只需使用&#39; urlencode&#39;在&#39; Agarbatte / Candle&#39;。我认为没有特别需要&#39; rawurlencode&#39;。
答案 2 :(得分:1)
虽然你可以像其他人所说的那样使用urlencode()
功能,但我建议不要养成这种习惯。假设您在数据库中拥有这些产品,请使用id
,您将永远不会遇到这些问题。
例如,如果数据库中的Candle产品的id
为6,则PHP应解析为:<a class="submenu" href='products/6'>
此外,您可以在这里使用一些快捷方式,从长远来看可以帮助您。
<?php echo "something" ?>
在php.ini中打开php短标签并使用<?= "something" ?>
base_url
。适当使用<base>
HTML标记:<base href="http://localhost/yourapp/">
<head>
醇>
所以...在使用1和2之后说:
<a href='products/<?= $id;?>'><?= $name_of_product ?></a>
答案 3 :(得分:0)
如何在输出页面上的网址中使用“Agarbatte-Candle”
$url_bit=string_replace('-','/',$url_bit);