朋友您好,我的链接有一个问题。我想尝试这样一个明确的链接:
http://www.example.com/poster/GoodPoster
<a href="<?php echo $clean_url.'poster/'.$poster_name; ?>" target="_self">Link</a>
我希望当您悬停时,此链接会显示http://www.example.com/poster/GoodPoster
现在我像这样做这个链接。
<a href="<?php echo $clean_url.'poster/'.$poster_name; ?>" target="_self">Link</a>
但链接告诉我:http://www.example.com/poster/
如果我将poster_name
更改为poster_id
,请执行以下操作:
<a href="<?php echo $clean_url.'poster/'.$poster_id; ?>" target="_self">Link</a>
此网址链接向我显示了这样的链接:http://www.example.com/poster/88
我在这里缺少什么?
我的rewriterule
是
RewriteRule ^poster/([\w-]+)/?$ /poster.php?poster_name=$1 [L,QSA]
答案 0 :(得分:0)
似乎您的$poster_name
为空或未声明...当您使用重写链接时,您总是应该清理字符串以消除特殊字符,这可能是解决方案:
function clean($string) {
$string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens.
return preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars.
}
然后用它来清理poster_name
<a href="<?php echo $clean_url.'poster/'.clean($poster_name); ?>" target="_self">Link</a>