php 搜索引擎优化(晋远考虑到URL如何面向搜索引擎优化,完成以后才开始优化)

优采云 发布时间: 2022-03-10 21:09

  php 搜索引擎优化(晋远考虑到URL如何面向搜索引擎优化,完成以后才开始优化)

  我在写金源信息网()的时候没有考虑到URL是如何针对搜索引擎优化的,写完就开始优化。这时候一方面要考虑静态URL,尽量保持原程序不变以备日后维护,所以使用了url_rewrite方法。以下是 httpd.conf 中的相应部分

  <br /> DocumentRoot /home/geofuture<br /> ServerName www.geofuture.net<br /> ServerAlias *.geofuture.net geofuture.net *.cic123.com<br /> DirectoryIndex index.files index.html index.php<br /> RewriteEngine On<br /> #RewriteLog logs/rewrite.log<br /> #RewriteLogLevel 9<br /> #RewriteRule / http://geofuture.vicp.net/ [L]<br /> RewriteCond %{REQUEST_FILENAME} index.files [OR]<br /> RewriteCond %{REQUEST_FILENAME} error.files [OR]<br /> RewriteCond %{REQUEST_FILENAME} cat.files [OR]<br /> RewriteCond %{REQUEST_FILENAME} area.files [OR]<br /> RewriteCond %{REQUEST_FILENAME} info.files [OR]<br /> RewriteCond %{REQUEST_FILENAME} topic.files [OR]<br /> RewriteCond %{REQUEST_FILENAME} post.files [OR]<br /> RewriteCond %{REQUEST_FILENAME} profile.files [OR]<br /> RewriteCond %{REQUEST_FILENAME} userinfo.files [OR]<br /> RewriteCond %{REQUEST_FILENAME} cert.files [OR]<br /> RewriteCond %{REQUEST_FILENAME} revise.files [OR]<br /> RewriteCond %{REQUEST_FILENAME} review.files [OR]<br /> RewriteCond %{REQUEST_FILENAME} feedback.files [OR]<br /> RewriteCond %{REQUEST_FILENAME} keyrank.files [OR]<br /> RewriteCond %{REQUEST_FILENAME} rss.files<br /> RewriteRule ^(.+?)/Q(.*)$ $1=$2 [N]<br /> RewriteRule ^(.+?)ZZ(.+)$ $1&$2 [N]<br /> RewriteRule ^(.+?)/.files(.*)$ $1.php$2 [N]<br /> RewriteRule ^(.+?)/.php(/|&)(.+).html$ $1.php?$3 [L]<br /> ErrorDocument 400 /error.php?status=400<br /> ErrorDocument 401 /error.php?status=401<br /> ErrorDocument 403 /error.php?status=403<br /> ErrorDocument 404 /error.php?status=404<br /> ErrorDocument 405 /error.php?status=405<br /> ErrorDocument 408 /error.php?status=408<br /> ErrorDocument 410 /error.php?status=410<br /> ErrorDocument 411 /error.php?status=411<br /> ErrorDocument 412 /error.php?status=412<br /> ErrorDocument 413 /error.php?status=413<br /> ErrorDocument 414 /error.php?status=414<br /> ErrorDocument 415 /error.php?status=415<br /> ErrorDocument 500 /error.php?status=500<br /> ErrorDocument 501 /error.php?status=501<br /> ErrorDocument 502 /error.php?status=502<br /> ErrorDocument 503 /error.php?status=503<br /> ErrorDocument 506 /error.php?status=506<br /><br />

  我只优化了基于内容的列,而登录和搜索部分保持不变,因为这些部分也是搜索引擎不关心的。同时,一些常见的状态码(HTTP Status)也有对应的静态页面。上面只修改了传入请求的URL,程序生成的URL由以下代码实现:

  <br />

  上述函数定义放在公共头文件中。然后,在需要优化的页面开头添加如下代码:

  ob_start("url_rewrite");<br />

  这也是唯一需要修改原创程序的地方。这样做还有另一个问题。比如我写的分页函数等代码都需要原来的动态URL,优化后只能通过$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']获取优化后的静态URL . 所有依赖动态 URL 的代码都必须修改以处理原创 URL 和优化的 URL。这需要重写公共头文件中的大量代码。于是我想到了一个迂回的方式:

  <br />

  有了上面的函数,你只需要在需要动态URL的地方调用它,不需要重写每个核心函数。需要注意的是,虽然url_rewrite和url_resume是相反的过程,但是它们的参数是不同的。前者的参数是整个缓冲区,后者只是一个单一的URL,因为恢复毕竟很少,全局处理重写可以提高速度。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线