链接URL仅用于id

时间:2014-06-03 19:23:19

标签: php .htaccess

朋友您好,我的链接有一个问题。我想尝试这样一个明确的链接:

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]

1 个答案:

答案 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>