规格:
REWRITE CODE:
RewriteRule ^(.+)-(.+)~(.+)\.html$ gallery-model.php?gallnm=$1&newnm=$2&modelid=$3
有两个问题需要解决,
1。网址重复问题 2.查询字符串追加到URL
问题#1:网址重复问题
根据SEO-MOZ报告,有两个不同的URL具有相同的内容。例如,
网址结构:http://www.example.co.uk/galleryname-modelname~modelid.html
网址1:http://www.example.co.uk/Shoes-Blackmamba~23.html
网址2:http://www.example.co.uk/shoes-blackmamba~23.html
请注意,网址1包含驼峰式文字,网址2包含较低的文本。
gallery-model.php文件使100个记录存储在MYSQL数据库中,使其显示在上述URL#1和#2中。
注(S):
如何停止使用相同内容但不同网址重复使用网址?
问题#2:查询字符串追加到网址
请检查 REWRITE CODE 它是否具有将网址重写为SEF的功能。一些URL工作正常,但其余附加查询字符串。例如,
http://www.example.co.uk/shoes-blackmamba~23.html?gallnm=Shoes&newnm=Blackmamba&modelid=23
注(S):
如果您检查上述网址,则可以在查询字符串中找到camelcase。
正在应用 REWRITE CODE ,因此不应在“网址”后面附加变量名称及其当前值但确实如此。
如何消除这条搜索线?
问题#1和#2的试验解决方案:
我期待你的回复。
答案 0 :(得分:1)
步骤: 1.获取当前URL。 2. Preg_match为“?” 3.用“?”爆炸 4.重定向到爆炸数组[0]。
代码如下:
//Force all lower case - begins
//Step 1 : To get current URL
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
//Step : 2
if (preg_match('/?/',$camel)) {
$expurl = (explode("?",$camel)); //Step 3 : Explode with "?"
header("Location: $expurl[0]"); //Step 4 : Redirect to exploded array[0].
}