SEO-MOZ报告中的URL重复问题

时间:2013-02-05 07:18:30

标签: string .htaccess url-rewriting

规格:

  1. 语言:PHP
  2. DB:MYSQL
  3. 网站类型:动态
  4. .htaccess用法:高
  5. 启用了Apache模块:mod_rewrite和mod_spelling
  6. 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):

    1. 解析查询字符串的合理变量都是使用'strtolower'。双重检查并确认。
    2. 如果您查看上面的 REWRITE CODE ,最后可以看到[nc]。如果我尝试操作,则会返回500内部服务器错误。
    3. 如何停止使用相同内容但不同网址重复使用网址?

      问题#2:查询字符串追加到网址

      请检查 REWRITE CODE 它是否具有将网址重写为SEF的功能。一些URL工作正常,但其余附加查询字符串。例如,

      http://www.example.co.uk/shoes-blackmamba~23.html?gallnm=Shoes&newnm=Blackmamba&modelid=23

      注(S):

      1. 如果您检查上述网址,则可以在查询字符串中找到camelcase。

      2. 正在应用 REWRITE CODE ,因此不应在“网址”后面附加变量名称及其当前值但确实如此。

      3. 正在使用
      4. trim()并且未应用mysql大小写更改。
      5. 如何消除这条搜索线?

        问题#1和#2的试验解决方案:

        1. mod_spelling.c已启用,但它在500内部服务器错误中返回。
        2. 在多次Google搜索无效后,强制网址为小写。
        3. 我期待你的回复。

1 个答案:

答案 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].
    }