伪静态

nginx rewrite伪静态后产生的错误链接

删除回忆录丶 提交于 2021-01-22 09:42:38
###背景 网站采用PHP做为后端开发语言,采用Thinkphp作为核心开发框架。 ###问题 //一般的URL生成方式为 U('xxx/xxx',[a=>b]); //目前网站中存在这种写法 U('xxx/xxx').'&a=b'; /* 上面不规范写法在伪静态前与伪静态后生成的URL对比 伪静态前:/index.php?mod=xxx&act=xxx&a=b 可以正常访问 伪静态后:/xxx/xxx.html&a=b 404 */ 如果去花时间修复这种不规范的写法,不仅费时费力,而且后期也难免出现这种不规范的写法。 所以考虑使用nginx rewrite模块重写为正确的URL ###解决方法 #为第一次出现伪静态后缀的URL添加? rewrite ^(.*?)\.(html|php)[^\?](.*)$ $1.$2?$3 last; 来源: oschina 链接: https://my.oschina.net/u/135537/blog/510761

Discuz论坛开启伪静态最详细的教程!

巧了我就是萌 提交于 2020-03-26 01:59:08
我们都知道discuz是采用PHP语言开发的,动态地址不利于蜘蛛抓取,开启伪静态有利于SEO优化。网上很多教程采用.htaccess但是是不行的,需要配置.conf文件。 请查看操作步骤: 1.登录我们网站后台,在全局>SEO优化设置>将要设置的页面勾选上,门户专题、门户文章、论坛列表、论坛内容页面、用户日志等。点击提交 2.提交后点击 查看当前的Rewrite规则! 3.选择你对应的服务器类型;如果是你 Apache Web Server(独立主机用户) ,就复制 Apache Web Server ,阿里云ECS服务器是 独立IP主机,就复制独立主机用户的内容。 4.打开notepad++ 新建一个文本,将<IfModule mod_rewrite.c> 到</IfModule> 一个完整闭合的内容粘贴到 新建文本里面,并保存为.htaccess。 5.打开flashFXP 链接你服务器远程管理,将.htaccess文件上传至你网站根目录。重启服务器,打开网页看地址是否可以访问,并且地址格式是 www.abc.com/article-1-1.html,这就算开启了。网上大多教程都是到这一步就没有了,如果不行请往下看! 6.很多朋友安装了多个网站,是Apache环境的,需要配置在vhosts.conf文件。将flashFXP 找到服务器目录/alidata/server

Typecho 设置伪静态

好久不见. 提交于 2020-03-08 15:13:08
1. 背景 未开启伪静态时,博客的链接是带有 index.php 的,除了不太美观,对搜索引擎的抓取也不太友好 进入后台–》设置–》永久链接–》强制启用地址重写 会发现所有文章都打不开了、 2. Apache下解决方案 问题在于缺少相应的配置文件 htaccess 文件是 Apache 服务器中的一个配置文件,它负责相关目录下的网页配置。通过 htaccess 文件,可以帮我们实现:网页 301 重定向、自定义 404 错误页面、改变文件扩展名、允许 / 阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。 下面需要修改 .htaccess 文件(根目录没有就新建一个) 对于 Apache 服务器 <IfModule mod_rewrite.c> RewriteEngine On # 下面是在根目录,文件夹要修改路径 RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L] </IfModule> Windows下就新建一个记事本,复制以上代码,然后另存为保存为 .htaccess 然后上传到网站根目录即可,最后重新后台开启地址重写功能 3. 其他环境的配置 Linux

浅谈PHP伪静态

女生的网名这么多〃 提交于 2020-03-03 08:06:19
伪静态是什么:网站分为动态网站和静态网站,我们常见的以html结尾的一般都是静态页面,以.php.asp结尾的页面一般是动态网站,动态网站是有和数据库进行交互才被称为动态网站,动态网站由于不容易被搜索引擎搜录所以才有了伪静态这么一说,伪静态顾名思义就是假的静态网站,也就是说动态网站为了方便被搜索引擎收录,利用服务器的rewirte实现的假静态的过程。 首先说明一下伪静态的好处好不足之处, 优点: 1.方便搜索引擎搜索,方便seo,方便爬虫爬取,简化url,美化url 2.考虑网站所用的程序语言不易被发现,经过重写伪静态来将动态网页的程序后缀变为html的静态页面格式。 缺点: 1.如果流量稍大一些使用伪静态就出现CPU使用超负荷,我的同时在线300多人就挂了,而不使用伪静态 的时候同时在线超500人都不挂,我的ISS数是1000"确实是这样的,由于伪静态是用正则判断而不是真实地址,分辨到底显示哪个页面的责任也由直接指 定转由CPU来判断了,所以CPU占有量的上升,确实是伪静态最大的弊病. 怎么用php实现伪静态: 1.首先,打印你的phpinfo();查看Loaded Modules 有没有mod_rewrite,如果有,那就可以开始下一步,如果没有那就打开你的apache的的安装目录"/apache/conf/“下的httpd.conf文件,查找"LoadModele

SEO优化网页伪静态的生成方式和伪静态的用处

痴心易碎 提交于 2020-02-23 11:47:42
  伪静态是什么?伪静态就是动态网页通过重写URL的方法实现去掉动态网页的参数,但在实际的网页目录中并没有必要实现存在重写的页面。   伪静态的生成的2种方式:   1、框架型伪静态,这种是非常简单而且也是非常便于识别的,它的原理比较简单,就是做一个静态的主框架页面,然后把动态的内容链入副框架内,这个单从它的URL就可以看出眉目,如果整个网站的URL都是一样的,那么就一定是框架伪静态的。   2、利用组件把asp的后辍显示为htm,这种方法的原理是有一点难度的,它主要是利用一个组件强制性的把asp文件的后辍显示为htm,对于客户来说,它是很难分辨的,因为显示的链接的确是以.htm结尾的,不过如果仔细观察它的链接,也能看出来一些眉目,因为这种URL是很奇怪的,中间带有asp的子样,而且后面还有些参数,不过参数的结果已经被隐藏掉了,但是看到这些就应该保持戒心了;不过,还是有办法找出它的原形,就是看程序文件,去找和URL相同的网页,因为htm的网页都是真实存在的,如果找不到这个网页的话,那它是伪静态化无疑了。   伪静态有什么用?我们做伪静态页面的目的就只有几种:   1、最主要的就是迎合搜索引擎方便搜索引擎蜘蛛(Spider)来抓取网页上的相关内容!   2、方便用户访问网站

伪静态

拈花ヽ惹草 提交于 2020-02-23 11:47:27
UrlRewrite URL重写好处有很多,如有利于SEO、便于记忆、隐藏真实路径使安全性提高、便于更新等等。本文概要描述了各种URL重写的实现。 ASP.NET 2.0 中实现URL重写有很多方法,如:Global.asax中捕获用Application_BeginRequest请求,再用HttpContext类的Rewrite方法或Server.Transfer方法实现重写;自己实现IHttpModule实现重写;还有的利用服务器的404错误引导到新的页面实现重写;最后就是用组件实现重写(基本原理大多也是实现IHttpModule、IHttpHandler接口处理请求)。 如果自己处理请求,实现起来麻烦,特别是在大项目中,做好使用组件实现。网上有很多开源或免费的实现URL重写的组件,选择余地特别大。当初我选择的标准是小巧、快速、实现常用的URL重写功能。经过比较选择了只有32KB大小的 UrlRewritingNet 。 查看其文档主要功能有以下一些: 1.基于正则表达式的重写 2.支持Themes和母版页 3.支持输出缓存 4.支持信任级别为"Medium"的使用环境 5.支持Postback 6.支持无Cookie的Session 7.运行时添加、修改改写规则 8.容易安装使用 OK!功能完全够用,就选他了! Web.config中的配置: < configuration

什么是伪静态?如何设置伪静态?

大城市里の小女人 提交于 2020-02-23 11:45:55
静态是什么?   伪静态就是:动态网页通过重写URL的方法实现去掉动态网页的参数,但在实际的网页目录中并没有必要实现存在重写的页面。   伪静态的生成的2种方式:   1,框架型伪静态,这种是非常简单而且也是非常便于识别的,它的原理比较简单,就是做一个静态的主框架页面,然后把动态的内容链入副框架内,这个单从它的URL就可以看出眉目,如果整个网站的URL都是一样的,那么就一定是框架伪静态的。   2,利用组件把asp的后辍显示为htm,这种方法的原理是有一点难度的,它主要是利用一个组件强制性的把asp文件的后辍显示为htm,对于客户来说,它是很难分辨的,因为显示的链接的确是以.htm结尾的,不过如果仔细观察它的链接,也能看出来一些眉目,因为这种URL是很奇怪的,中间带有asp的子样,而且后面还有些参数,不过参数的结果已经被隐藏掉了,但是看到这些就应该保持戒心了;不过,还是有办法找出它的原形,就是看程序文件,去找和URL相同的网页,因为htm的网页都是真实存在的,如果找不到这个网页的话,那它是伪静态化无疑了。 伪静态有什么用?   我们做伪静态的目的就只有几种:   1、 最主要的就是迎合搜索引擎方便搜索引擎蜘蛛(Spider)来抓取网页上的相关内容!   2、 方便用户访问网站

IIS For Windows环境下的WP伪静态

会有一股神秘感。 提交于 2020-02-23 01:24:02
WP伪静态对于Linux主机是十分容易的事情,但在Windows主机IIS环境下就比较棘手了,你是否遇到了一样的问题呢?今天就来教你如何在Win主机IIS环境下进行WP伪静态配置。 Windows主机IIS环境下伪静态需要主机启用了Rewrite模块,不然是不会起作用的。主机启用了Rewrite模块,剩下的只需要一个Httpd.ini就能解决问题了。 httpd.ini是指wordpress程序在windows虚拟主机上的伪静态设置。下面就贴出WP伪静态的Httpd.ini代码: [ISAPI_Rewrite] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 # Protect httpd.ini and httpd.parse.errors files # from accessing through HTTP # Rules to ensure that normal content gets through RewriteRule /sitemap.xml /sitemap.xml [L] RewriteRule /favicon.ico /favicon.ico [L] RewriteRule /sitemap_baidu.xml /sitemap_baidu.xml [L] RewriteRule /sitemap

nginx常用伪静态设置

六眼飞鱼酱① 提交于 2020-02-13 07:05:17
nginx里使用伪静态是直接在nginx.conf 中写规则的,并不需要像apache要开启写模块(mod_rewrite)才能进行伪静态。 nginx只需要打开nginx.conf配置文件,在server里面写需要的规则即可。 复制代码 代码如下: server { listen 80; server_name bbs.jb51.net; index index.html index.htm index.php; root /home/www/bbs; error_page 404 /404.htm; #配置404错误页面 location ~ .*.(php|php5)?$ { #fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fcgi.conf; } #下面就是伪静态了 location /{ rewrite ^(.*)/equip(d+).html$ $1/index.php?m=content&c=index&a=lists&catid=$2 last; } access_log access_log off; } 然后重启nginx服务器伪静态就生效了,这种维护起来很是不方便我们可以把它写在外部文件如bbs_nginx

开启PHP的伪静态

会有一股神秘感。 提交于 2020-02-13 05:34:09
1.检测Apache是否支持mod_rewrite 通过php提供的phpinfo()函数查看环境配置,通过Ctrl+F查找到“Loaded Modules”,其中列出了所有 apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。 如果没有开启“mod_rewrite”,则打开目录 您的apache安装目录“/apache/conf/” 下的 httpd.conf 文 件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。 如果没有查找到,则到“LoadModule” 区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必选独占一行),然后重启apache服务器即可。 2.在httpd.conf中配置虚拟主机 # Virtual hosts 启用虚拟主机 Include conf/extra/httpd-vhosts.conf 3.httpd_vhosts.conf文件中,配置相应的选项.详细讲解 <VirtualHost *:80> DocumentRoot "C:/myenv/apache/htdocs/static3" ServerName www.hsp.com <Directory "C: