在学习apache或使用PHP处理伪静态前得先了解伪静态的特点和优点,去了...
述:看了一些文章伪静态无非就是可以让搜索引擎更好的收录。其实不论是真的还是伪的,其实对于搜索引擎来说
都是一样的,搜索引擎没有说,你这个是伪的,我不收录你.揪根掘底的来说,为什么搜索引擎会不收录带问号的网址
?因为搜索引擎怕由于问号而进入死循环(以前动网就有这样一个漏洞,蜘蛛进去出不来了),所以很多时候带问号的
地址是不会进去的,伪静态对于搜索引擎来说,其实就是静态,因为地址中没有带问号,所以没有真静态比伪静态收
录得多的说法.
首先当然是配置文件
第一步:要找到apache安装目录下的httpd.conf文件,在当中找到:
<Directory />
Options FollowSymLinks
AllowOverride none
</Directory>
将none改all,AllowOverride指令按类别决定了.htaccess文件中哪些指令才是有效的。如果一个指令允
许在.htaccess中使用,那么在本手册的说明中,此指令会有一个覆盖项段,其中说明了为使此指令生效而必须在
AllowOverride指令中设置的值。
<Directory 目录>这的目录应与DocumentRoot中的目录相同
第二步:找到以下内容
#LoadModule rewrite_module modules/mod_rewrite.so
将#号去掉,可使用httpd 应用程序查看rewrite_module模块是否载入(httpd -M)
OK配置成功,保存重启apache
测试基于.htaccess文件的功能:
在这我使用的的ErrorDocument 404 /error.php 进行测试。
[测试当中并没有出现想要的结果,而后我去查看error.log日志,当中显示的是以根目录/error.php的
地址,这也说明了配置成功。在根目录中新建error.php文件->测试时也没有成功的转向到error.php页面,配置
成功却没有转向是目录的问题??使用绝对地址http://www.****.com/error.php行了]
使用.htaccess文件的不足:
1、性能 AllowOverride启用了使用.htaccess文件,则apache需要在每个目录中查找.htaccess文件。因此会导致
性能下降。另外对每一个请求,都需要读取一次.htaccess文件,还有 apache必须在所有上级的目录中查
找.htaccess文件以使有效的指令都起作用,比如如果客户端请求/www/htdocs/help中的页面。服务器必须查找
/.htaccess
/www/.htaccess
/www/htdocs/.htaccess
/www/htdocs/help/.htaccess
四个额外文件(即使这些文件都不存在,当然你可以仅仅允许根目录使用.htaccess文件),也就是说目录深度越
深,则访问的额外文件越多,性能越低了。
2、安全
由于在/www/htdocs/help下面的.htaccess文件中放置指令与在主配置文件中<Directory /www/htdocs/help>中放
置相同的指令是完全等效的,这样允许用户自己修改服务器配置,
可能就会导致某些不愿意发生的意想不到的修改,这样就会造成服务器安全问题。这样你就必须考虑是否设置
AllowOverride None来完全禁用.htaccess文件。
使用:URL重写(简单)
RewriteEngine on
RewriteBase /
RewriteRule ^tt_([0-9]*).html$ test.php?id=$1 [R]
释: RewriteEngine ,这是打开或关闭运行时的重写引擎
RewriteBase / ,这是设置指定路径的基准URL也就是[/test.php?id=$1]这样的
RewriteRule ,为重写引擎定义重写规则
注:我在使用时误解了RewriteBase的意思,以为在RewriteBule中的路径都是以/开始的,其实不然,在apache中
开启伪静态运行时,都会试图在不同的目录寻找.htaccess文件运行当中的规则。所以URL都是以.htaccess为基准
的。
如.htaccess放在根目录中伪静态是www.***.com/tt_11.html运行的,而被从写的URL是以RewriteBace为基准的
如.htaccess放在/user目录中伪静态是www.***.com/user/tt_11.html运行的
述:Rewrite apache重写技术的使用就不详说了,当然在使用前必须要会使用正则表达式,了解apache的基本配置
,从写规则可从apache参考手册学习,我也是从那里着手的。
分享到:
相关推荐
描 述:UrlReWrite(Url重写或伪静态)完美示例源码 UrlReWrite(Url重写或伪静态)完美示例源码,已利用ActionlessForm解决原始地址form回传的问题 例如:/products.aspx?category=books 转换为/products/Books....
###########本系统使用前,请确认你的空间支持伪静态,服务器环境请使用Apache或nginx ,php版本7.0以内########## 常规参数配置; 后台地址: 域名/admin 用户名和密码都是admin 如果修改了后台路径,请在robots....
Apache无需设置伪静态,nginx需配置伪静态(复制源码中nginx.txt文件里的全部内容) 为方便其他用户测试,请勿修改测试站密码。没有意义多谢合作!!! 在购买前请使用的你的支付通道测试好支付接口,测试无误后再...
直接可用,本程序使用TP5框架开发 代码开源 无加密 无授权,可以将微信收款码,QQ收款码,支付宝收款码合并成一个收款码,已在本地与服务器进行测试,程序安装也比较简单 已带Apache环境的伪静态 直接将源码传入网站...
经过网上查阅和测试,发现Nginx的Rewrite规则和Apache的Rewite规则差别不是很大,几乎可以直接使用。比如在Apache中这样写规则 rewrite ^/([0-9]{5}).html$ /viewthread.php?tid=$1 last; 而在Nginx中写成这样写...
内含安装说明 测试环境PHP5.6+Mysql5.5+Apache 伪静态 Rewriteengine On RewriteCond %{REQUEST_FileNAME} !-d RewriteCond %{REQUEST_FileNAME} !-f RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]
测试环境:宝塔windows + apache +mysql 5.6 +php5.6 注意:此源码在Linux下因目录大小写问题,可能会导致打不开,建议在windows服务器下搭建。 另外此源码已经修复了令人头痛...3.设置伪静态规则为ThinkPHP默认伪静态
这个源码是用户发我的...3.设置伪静态规则为ThinkPHP默认伪静态。 后台:域名/admin.php 账号 admin 密码 qwer.123456 前台测试:13800000003 123456 短信配置在后台系统自定义设置里,使用的短信宝平台,自行修改。
测试环境:PHP7.1 + MYSQL5.6 + Apache 上传源码到根目录 安装完毕 记住系统默认的账号密码 温馨提示:如果默认的伪静态不行就替换一下的,没问题就不用换! 伪静态配置 RewriteEngine on RewriteCond %{...
测试环境:PHP7.1 + MYSQL5.6 + Apache 1. 上传源码到根目录 2. 安装程序: 浏览器数据 http://localhost/CloudreveInstallerlocalhost更换成你的网址 3. 安装完毕 记住系统默认的账号密码 温馨提示:如果默认...
请注意以下几点:1、这套源码必须要服务器支持伪静态,是支持.htaccess规则的伪静态,一般Apache服务器支持,别搞的下载回去以后说什么缺 少文件,其实源码并非缺少文件。2、这套源码请在php 5.4环境下测试,其它...
通码吧手赚网源码tongma8.com通码手赚网测试环境 phpstudy php5.4 apache 开启伪静态
伪静态,源码默认包含了apache的伪静态规则,但很多情况下还需要自己设置,请百度对应对应的设置方法,例如Nginx thinkphp5伪静态设置,如果您使用的宝塔,那么在网站伪静态里面设置一下即可。如果伪静态没有设置好...
此程序为学校迎新晚会抽奖而开发,可应用各种公司年会的抽奖场景下使用。...public/rewrite目录下有对应的伪静态配置示例,可对照修改,一般只要复制.htaccess(Apache环境)nginx.conf(Nigx环境)到pulic目录即可。
测试环境:PHP7.1 + MYSQL5.6 + Apache 上传源码到根目录 安装程序: 浏览器数据 http://localhost/CloudreveInstallerlocalhost更换成你的网址 安装完毕 记住系统默认的账号密码 温馨提示:如果默认的伪静态不行就...
测试环境:PHP7.1 + MYSQL5.6 + Apache 上传源码到根目录 安装程序: 浏览器数据 http://localhost/CloudreveInstallerlocalhost更换成你的网址 安装完毕 记住系统默认的账号密码 温馨提示:如果默认的伪静态不行就...
运行环境:WIN~LINUX+APACHE2.4+PHP7.0+MYSQL5.5+伪静态 服务器要求: 本系统Laravel框架对PHP版本和扩展有一定要求,有必要了解下这些以便确认自己的环境是否满足以下要求: PHP >= 7.0.12 PHP OpenSSL 开启扩展 ...
1、这套源码必须要服务器支持伪静态,是支持.htaccess规则的伪静态,一般Apache服务器支持,别搞的下载回去以后说什么缺 少文件,其实源码并非缺少文件。 2、这套源码请在php 5.4环境下测试,其它环境不行。 3、进...