1、把网页上带链接的地方,都换上新的静态化链接。搜索引擎和浏览器将通过该链接来发生请求。(有些人做修改不是在网页上,而是进行动态链接向静态链接的转向,这是严重错误的)2、在httpd.conf或.htaccess中使用RewriteRule:RewriteRule "^/dir/ ([^./]*) \.html" "/dir/script.cgi?doc=$1"  [PT][PT]标记告诉Apache执行后续的所有操作。通过这个功能,使动态页面以静态链接的形式展示给搜索引擎,从而达到URL优化的目的。
上面的内容是从网上摘录的一段文字。。可还是不行。
我的服务器已配置好伪静态 。例如:访问 http://localhost/news/news-10.html 对应真实的动态地址http://localhost/news/news.php?id=10
已能成功的接受到 该id 我的问题是 我有个静态页面里面有个超链接 <a href='news.php?id=10'>新闻10</a>
当鼠标移动到该超链接上时显示的是 news.php?id=10 我想让这个超链接变成 news-10.html  该怎么做啊????急。急。急。

解决方案 »

  1.   

    改成<a href='news-10.html'>新闻10</a>不就行了吗?
      

  2.   

    我这是php动态页面,如果从后台添加一条新闻,那么要从文件里在改这个超链接吗
    我的意思是如何重写文件里的url地址,把原先动态的例如 xxx.php?id=xx 换成  类似  news-xx.html我该如何解决呢?
      

  3.   

    首先先把你的动态文件生成静态文件放置在某个目录下,然后完成伪静态的配置
    1.打开apache目录下的conf文件夹下的httpd.conf文件;
    2.搜索#LoadModule rewrite_module modules/mod_rewrite并去掉句首的井号“ #” ;
      查找 AllowOverride None  并将None改成All ;
    3.在服务器端根目录下创建.htaccess文件(没有文件名字只有后缀名,最简单的创建方法就   是随便先创建一个文件,然后用记事本打开另存为.htaccess文件即可)并在里面加入:
      RewriteEngine on  //开启rewriteengine
      RewriteRule article([0-9]*).html$ article.php?Tid=$1 //依个人需要而写的重定向规则(右边的s1对应的是左边第一个括号内的内容,以此类推……)
      

  4.   

    news-10.html
    这个news是新闻分类 这个10是id号
    你统计一个分类有哪些,对应生成就是了
    你生成链接时,根据条件判断,是news就输出news
    再看一下这个id=10是不是表里面最前面primary key auto_increment 的那个主健key
    若是,生成的时候就把,那个id号加到news后面,类似这样$type = 'news';//若还有其他情况,修改判定
    $id = 10;//这个id值通过数据库得到
    echo '<a href="'.$type.'-'.$id.'.html">TEST</a>';//这样就组合成了你要的伪链接
      

  5.   


    您说的我看明白了,问题是我带超链接的页面是smarty的模版文件,不能用 . 进行字符串的拼接我想在数据库中添加一个字段 存储 news-10.html 的字符串 到时直接读出来 ,你看这样行 吗??
      

  6.   

    你的url生成的是不是动态的吗?开启了url重写之后,你的要用的页面url都必须是静态的,不能再是.php的形似了!
      

  7.   

    这个我知道,文件名和正则规则有关,如果规则改变,那么静态的url地址都要变吗?
      

  8.   

    生成的时候就要写成那个模样,HTML是你生成的,不是用户生成的。
      

  9.   

    例如:访问 http://localhost/news/news-10.html 对应真实的动态地址http://localhost/news/news.php?id=10RewriteRule ^news/news-([0-9]+)\.html news.php?id=$1 [NC]试试吧。
      

  10.   

    刚才疏忽了。用下边这个。
    RewriteRule ^news/news-([0-9]+)\.html news/news.php?id=$1 [NC]
    不过我也建议你在news这个目录加一个.htaccess文件。里面用下边这句。
    RewriteRule ^news-([0-9]+)\.html news.php?id=$1 [NC]
      

  11.   

    news-10.html这样式是对的,是静态的,要不然别人不还是看到了嘛,规则改了,这地方当然也要改