/*******************
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。如图:

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来实现静态化比较麻烦。
如果出现下面这样,说明你没配置好。

如果出现下面这样,说明你配置好了,只是rewrite规则写的不对,检查下好了。

如果出现下面,恭喜你。



PhpSessionsStrackUserDataacrossMultiplepageRequestSusingauniqueIdStoredInacookie.Here'showtomanageThememeChectively: 1) startAsessionwithSession_start () etstoredatain $ _session.2) RegenerateTheSessionidaFterloginWithSession_Regenereate_id (true) TopReventiSi

En PHP, l'itération des données de session peut être obtenue via les étapes suivantes: 1. Démarrez la session à l'aide de session_start (). 2. Ilaster à travers la boucle FOREACH à travers toutes les paires de valeurs clés dans le tableau $ _SESSION. 3. Lors du traitement des structures de données complexes, utilisez des fonctions is_array () ou is_object () et utilisez print_r () pour produire des informations détaillées. 4. Lors de l'optimisation de la traversée, la pagination peut être utilisée pour éviter de traiter de grandes quantités de données en même temps. Cela vous aidera à gérer et à utiliser les données de session PHP plus efficacement dans votre projet réel.

La session réalise l'authentification des utilisateurs via le mécanisme de gestion de l'état côté serveur. 1) Création de session et génération d'ID unique, 2) Les ID sont passés par des cookies, 3) les magasins de serveurs et accèdent aux données de session via IDS, 4) l'authentification des utilisateurs et la gestion de l'état sont réalisées, améliorant la sécurité des applications et l'expérience utilisateur.

Tostoreauser'snameinaphpSession, startTheSessionwithSession_start (), thenSsignTheNameto $ _session ['username']. 1) usayession_start () toinitizethesession.2) attheuser'snameto $ _session ['username'].

Les raisons de la défaillance de la phpsession comprennent les erreurs de configuration, les problèmes de cookies et l'expiration de session. 1. Erreur de configuration: vérifiez et définissez la session correcte.save_path. 2.Cookie Problème: assurez-vous que le cookie est correctement réglé. 3.Session Expire: Ajustez la valeur de session.gc_maxlifetime pour prolonger le temps de session.

Les méthodes pour déboguer les problèmes de session en PHP incluent: 1. Vérifiez si la session est démarrée correctement; 2. Vérifiez la livraison de l'ID de session; 3. Vérifiez le stockage et la lecture des données de session; 4. Vérifiez la configuration du serveur. En sortissant l'ID de session et les données, en affichant le contenu du fichier de session, etc., vous pouvez diagnostiquer et résoudre efficacement les problèmes liés à la session.

Plusieurs appels vers session_start () se traduiront par des messages d'avertissement et d'éventuels remplacements de données. 1) PHP émettra un avertissement, ce qui incite la session à démarrer. 2) Il peut provoquer un écrasement inattendu des données de session. 3) Utilisez session_status () pour vérifier l'état de la session pour éviter les appels répétés.

La configuration du cycle de vie de session dans PHP peut être réalisée en définissant session.gc_maxlifetime et session.cookie_lifetime. 1) Session.gc_maxlifetime contrôle le temps de survie des données de session côté serveur, 2) Session.cookie_lifetime contrôle le cycle de vie des cookies des clients. Lorsqu'il est réglé sur 0, le cookie expire lorsque le navigateur est fermé.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

PhpStorm version Mac
Le dernier (2018.2.1) outil de développement intégré PHP professionnel

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

VSCode Windows 64 bits Télécharger
Un éditeur IDE gratuit et puissant lancé par Microsoft
