Heim Backend-Entwicklung PHP-Tutorial 浅谈PHP实现伪静态_PHP教程

浅谈PHP实现伪静态_PHP教程

Jul 13, 2016 pm 05:45 PM
http php title y 实现 statisch

/*******************
Title:浅谈PHP实现伪静态
Author:insun
Blog:http://yxmhero1989.blog.163.com
Reference:
php实现url伪静态化 http://blog.78999.org/php_sql_asp/php-rewrite.html

php 伪静态(url rewrite)apache配置http://hi.baidu.com/%B9%D6%CA%AF/blog/item/2659b6af548923d57cd92ab9.html


三种实现PHP伪静态页面的方法:http://www.BkJia.com/kf/201108/100056.html


友好URL的实现(吐血推荐)http://www.BkJia.com/kf/201006/49208.html

PHP实现伪静态化页面的具体实现方式 http://www.BkJia.com/kf/201108/100058.html

PHP伪静态与防注入 http://www.BkJia.com/Article/201108/100059.html

Php参数传递以及php获取url参数之后的较合理安排 http://hi.baidu.com/wd1314521/blog/item/3af604822f1938b70df4d2e3.html

php实现伪静态化页面的两种方法(包括两种url重写的方法 http://hi.baidu.com/newyorkmen/blog/item/f998131ae4121b0d34fa4167.html/cmtid/6becf7c0d5fd6d38e4dd3b08 PHP页面实现静态化讲解和详细代码 http://hi.baidu.com/newyorkmen/blog/item/f387e3b723dddac437d3ca66.html

*/
最近在某公司实习,用php爬虫抓取网站页面,存到数据库,然后自己写个网站调用数据库,然后进行SEO,要求采集、远程资料本地化,伪静态,关键字优化,无死链无孤岛;做完以后就可以进入项目组了。
PHP实现伪静态实际是为了SEO(Search Engine Optimization搜索引擎优化),也就是说像google和百度之类的spider不喜欢动态的页面,所以你显示的时候就以.html或者目录之类的表现,其实在服务器端是php文件。也就是说搜索引擎不喜欢/page.php?id=4这样的页面,而是喜欢/4.html这样的页面,对其非常友好(有利于收录),当然你不会直接弄出N个html页面吧。
一。那么最简单的方法
Apache+PHP下实现URL重写(伪静态)
1。检查apache是否支持mod_rewrite

在apache的httpd.conf里面查找LoadModule rewrite_module modules/mod_rewrite.so,去掉其前面的#(如果有的话,也就是取消注释)Linux下建议使用Xampp安装包,里面的LoadModule基本都已经被取消注释了,所以一般不需要改动。
然后利用phpinfo()查看环境配置,是否支持mod_rewrite。如图:

 
 
浅谈PHP实现伪静态 - InSun - Minghacker is Insun

 2.在http.conf里面查找Options FollowSymLinks,将后面的AllowOverride None改成AllowOverride All。
这个时候兵分两路,有http.conf权限的可以自己在http.conf后面添加url rewrite规则


RewriteEngine On
RewriteRule ^(.*)/([0-9]{1,}).html$ $1/page.php?id=$2

第二路就只好在代码根目录建立.htaccess文件,这个文件建立比较简单,有3种方法,最简单的当然是建立1.htaccess然后记事本打开另存为.htaccess,另外就是cmd下rename和ftp软件修改。
3.rewrite规则
看个例子就懂了

RewriteEngine On
RewriteRule ^(.*)/([0-9]{1,}).html$ $1/page.php?id=$2

$是终止符,前面写个正则表达式,$1获取第一个子模式(小括号里面的东东),$2获取第二个子模式东东。
友情提示 ^是开头,不要忘记加了
如果有2个参数,也很简单,自行处理。
也就是说浏览器里面显示的如果是4.html(你的文件里面的链接写成.html的)的话,实际调用的是page.php?id=4,这样浏览器的输入栏都是html,达到了伪静态。
当然你改写不同正则,显示的url当然就不同了,随你喜欢的该。
遇见多行的话不要妄自加分号。如下才是对的:

RewriteEngine On
RewriteRule ^(.*)/([0-9]{1,}).html$ $1/page.php?id=$2
RewriteRule ^(.*)/index.html$ $1/index.php
RewriteRule ^(.*)/wenzhang.html$ $1/wenzhang.php
RewriteRule ^(.*)/gushi.html$ $1/gushi.php
RewriteRule ^(.*)/sanwen.html$ $1/sanwen.php
RewriteRule ^(.*)/zawen.html$ $1/zawen.php
RewriteRule ^(.*)/shige.html$ $1/shige.php
RewriteRule ^(.*)/riji.html$ $1/riji.php
RewriteRule ^(.*)/xiaoshuo.html$ $1/xiaoshuo.php
RewriteRule ^(.*)/contact.html$ $1/contact.php


<code style="line-height: 22px"><font face="新宋体">综述就是网址重写引擎和指定一些重写规则</font>.,尝试Faking URL Suffix(伪造URL后缀),看起来很静态化,提高了安全性和SEO友好度。
4.重启apache。
windows的httpd.conf很好找,在conf目录(我指的是你如果没用集成包的话)
Linux在opt/lampp/etc目录里面有httpd.conf(一般linux下推荐用Xampp按照包,安装在opt目录)
同样进行上面工作restart一下就ok
login as: root
Server refused our key
root@XXXXX.com's password:
Last login: Thu Jul 21 14:26:26 2011 from 112.65.219.75
[root@XXXXX ~]# who
root     pts/0        2011-07-21 14:32 (112.65.219.75)
[root@XXXXX ~]# /opt/lampp/lampp restart
Stopping XAMPP for Linux 1.6.4...
XAMPP: Stopping Apache with SSL...
XAMPP: Stopping MySQL...
XAMPP: Stopping ProFTPD...
XAMPP stopped.
Starting XAMPP for Linux 1.6.4...
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
XAMPP: Starting ProFTPD...
XAMPP for Linux started.
稍等就行了。
5.部分代码指导:
 

echo "";
$i=$row['id'];//数据库表insun4中的id列,为了。。。。
echo " ".$row['title']." ";
//echo " ".$row['title']." ";
//echo " ".$row['description']." ";    
echo " ".$row['description']." ";
echo "";
?>

  include 'config.php';
set_time_limit(0);//防止超时显示错误。
mysql_query("set names'gbk'");//utf8
//$url = "http://www.jj59.com/";
$gid = $_GET['id'];
$query="select * from insun4 where id = $gid" ;//用like选择性输出。where link like'http://www.jj59.com/yuanchuang/%'
//echo  $query;
$queryresult=mysql_query($query) or die("查询数据失败");//执行查询
//echo var_dump($queryresult);

while($row = mysql_fetch_array($queryresult)){
    echo ($row['content'])."
";
}
?>


RewriteEngine On
RewriteRule ^(.*)/([0-9]{1,}).html$ $1/page.php?id=$2
RewriteRule ^(.*)/index.html$ $1/index.php
RewriteRule ^(.*)/wenzhang.html$ $1/wenzhang.php
RewriteRule ^(.*)/gushi.html$ $1/gushi.php
RewriteRule ^(.*)/sanwen.html$ $1/sanwen.php
RewriteRule ^(.*)/zawen.html$ $1/zawen.php
RewriteRule ^(.*)/shige.html$ $1/shige.php
RewriteRule ^(.*)/riji.html$ $1/riji.php
RewriteRule ^(.*)/xiaoshuo.html$ $1/xiaoshuo.php
RewriteRule ^(.*)/contact.html$ $1/contact.php


二,看到网上有2-3个方法,都是写个Url_rewrite函数,然后require的,感觉不好就不推荐大家了,大家可以去搜索下。
一般都是借助于apache,nginx,htaccess等,很少用php来实现url的静态化,用php来实现静态化比较麻烦。


如果出现下面这样,说明你没配置好。

浅谈PHP实现伪静态 - InSun - Minghacker is Insun
如果出现下面这样,说明你配置好了,只是rewrite规则写的不对,检查下好了。

 

浅谈PHP实现伪静态 - InSun - Minghacker is Insun
如果出现下面,恭喜你。

浅谈PHP实现伪静态 - InSun - Minghacker is Insun
浅谈PHP实现伪静态 - InSun - Minghacker is Insun

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/478695.htmlTechArticle/******************* Title:浅谈PHP实现伪静态 Author:insun Blog:http://yxmhero1989.blog.163.com Reference: php实现url伪静态化 http://blog.78999.org/php_sql_asp/php-re...
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

CakePHP-Protokollierung CakePHP-Protokollierung Sep 10, 2024 pm 05:26 PM

Die Anmeldung bei CakePHP ist eine sehr einfache Aufgabe. Sie müssen nur eine Funktion verwenden. Sie können Fehler, Ausnahmen, Benutzeraktivitäten und von Benutzern durchgeführte Aktionen für jeden Hintergrundprozess wie Cronjob protokollieren. Das Protokollieren von Daten in CakePHP ist einfach. Die Funktion log() wird bereitgestellt

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP ist ein Open-Source-MVC-Framework. Es erleichtert die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich. CakePHP verfügt über eine Reihe von Bibliotheken, um die Überlastung der häufigsten Aufgaben zu reduzieren.

See all articles