|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
第1步环境配置好了,你算了进了1小步了,那么第2步呢 就是调出第1个程序 一般都是用hello world,视频教程里面我都做了,hello world 我在写晋远信息网(www.geofuture.net)时没有思索到URL若何面向seo,完成了今后才入手下手优化的。这时候要思索一方面要静态的URL,一方面要尽可能坚持原本的法式不变以便于今后保护,所以就采取url_rewrite的办法。上面是httpd.conf中响应的局部
<VirtualHost *:80>
DocumentRoot /home/geofuture
ServerName www.geofuture.net
ServerAlias *.geofuture.net geofuture.net *.cic123.com
DirectoryIndex index.files index.html index.php
RewriteEngine On
#RewriteLog logs/rewrite.log
#RewriteLogLevel 9
#RewriteRule / http://geofuture.vicp.net/ [L]
RewriteCond %{REQUEST_FILENAME} index.files [OR]
RewriteCond %{REQUEST_FILENAME} error.files [OR]
RewriteCond %{REQUEST_FILENAME} cat.files [OR]
RewriteCond %{REQUEST_FILENAME} area.files [OR]
RewriteCond %{REQUEST_FILENAME} info.files [OR]
RewriteCond %{REQUEST_FILENAME} topic.files [OR]
RewriteCond %{REQUEST_FILENAME} post.files [OR]
RewriteCond %{REQUEST_FILENAME} profile.files [OR]
RewriteCond %{REQUEST_FILENAME} userinfo.files [OR]
RewriteCond %{REQUEST_FILENAME} cert.files [OR]
RewriteCond %{REQUEST_FILENAME} revise.files [OR]
RewriteCond %{REQUEST_FILENAME} review.files [OR]
RewriteCond %{REQUEST_FILENAME} feedback.files [OR]
RewriteCond %{REQUEST_FILENAME} keyrank.files [OR]
RewriteCond %{REQUEST_FILENAME} rss.files
RewriteRule ^(.+?)\Q(.*)$ $1=$2 [N]
RewriteRule ^(.+?)ZZ(.+)$ $1&$2 [N]
RewriteRule ^(.+?)\.files(.*)$ $1.php$2 [N]
RewriteRule ^(.+?)\.php(/|&)(.+).html$ $1.php?$3 [L]
ErrorDocument 400 /error.php?status=400
ErrorDocument 401 /error.php?status=401
ErrorDocument 403 /error.php?status=403
ErrorDocument 404 /error.php?status=404
ErrorDocument 405 /error.php?status=405
ErrorDocument 408 /error.php?status=408
ErrorDocument 410 /error.php?status=410
ErrorDocument 411 /error.php?status=411
ErrorDocument 412 /error.php?status=412
ErrorDocument 413 /error.php?status=413
ErrorDocument 414 /error.php?status=414
ErrorDocument 415 /error.php?status=415
ErrorDocument 500 /error.php?status=500
ErrorDocument 501 /error.php?status=501
ErrorDocument 502 /error.php?status=502
ErrorDocument 503 /error.php?status=503
ErrorDocument 506 /error.php?status=506
</VirtualHost>
我只把之内容为主的栏目优化了,至于登录和搜刮等局部坚持不变,由于这些局部也是搜刮引擎不关怀的。同时,一些罕见的形态码(HTTP Status)也有响应的静态页面。下面只修正了外来恳求的URL,而法式生成的URL经由过程上面的代码完成:
<?php
//-------------- SECTION NAME -----------------------------------
// 静态URL改写成静态
function url_rewrite($buffer)
{
//return $buffer;
$search = array(
'.php',
'?',
'&',
'filesZZ',
'=',
'hrefQ',
);
$replace = array(
'.files',
'/',
'ZZ',
'files/ZZ',
'Q',
'href=',
);
preg_match_all('/href="\/(index|error|cat|area|info|topic| post|profile|userinfo|cert| revise|review|feeback|keyrank|rss) \.php(.*?)"/', $buffer, $match);
$url = str_replace($search, $replace, $match[0]);
$url = preg_replace('/\.files(.+?)(#.+?)?"$/', '.files\\1.html\\2"', $url);
return str_replace($match[0], $url, $buffer);
}
?>
下面的函数界说放在公共头文件外面。然后,在需求优化的页面入手下手处到场以下代码:
ob_start("url_rewrite");
这也是本来的法式独一需求修正的中央。如许做还有一个成绩。 例如我写的分页函数等代码, 都请求本来静态的URL, 而优化了今后经由过程 $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] 就只能失掉优化今后的静态URL, 一切依附于静态URL的代码都得修正一下, 以可以处置本来的URL和优化的。如许得改写公共头文件的很多代码。所以我就想了一个迂回的举措:
<?php
//-------------- SECTION NAME -----------------------------------
// 恢复成静态URL
function url_resume($url)
{
$search = array(
'.files',
'.php/',
'ZZ',
'/ZZ',
'Q',
'.html',
);
$replace = array(
'.php',
'.php?',
'&',
'?&',
'=',
'',
);
$url = str_replace($search, $replace, $url);
return $url;
}
?>
有了下面的函数,在需求静态URL的中央只需挪用一下就能够了,而不需重写各个中心函数。需求注重的是,url_rewrite和url_resume固然是相反的进程,然而它们的参数是分歧的。前者的参数是全部缓冲区,后者只是一个单个的URL,由于恢复的情形究竟很少,而全局处置重写可以进步速度。
培训的第三阶段,开始接触MYSQL,设计数据库,学习PHP如何去连接MYSQL数据库。对于MYSQL,我并不陌生,因为学校开设了Linux系统的课程,对于数据库的操作。 |
|