当前位置:Gxlcms > PHP教程 > 关于伪静态的一个有关问题,突然忘记一段代码了

关于伪静态的一个有关问题,突然忘记一段代码了

时间:2021-07-01 10:21:17 帮助过:21人阅读

关于伪静态的一个问题,突然忘记一段代码了
我要达到这么一种效果:当index.html存在的时候,就访问存在的index.html文件,不存在的时候,就通过伪静态去动态访问,配置如下:



RewriteEngine ON

RewriteCond %{HTTP_HOST} ^(.*)www.aaa.com$ [OR]
RewriteCond %{HTTP_HOST} ^([^www]*).aaa.com$
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ http://www.aaa.com.$1 [R,QSA,L]

RewriteRule ^/([a-zA-Z]+)\.html$ /run.php?controller=$1&action=$1&default=1 [L]

ServerAdmin admin@yahoo.com.cn
DocumentRoot "E:/www/home"
ServerName www.aaa.com
ErrorLog "D:/AppServ/log/index_error.log"
CustomLog "D:/AppServ/log/index_access.log" common
ErrorDocument 404 http://www.aaa.com/error_404.html
ErrorDocument 403 http://www.aaa.com/error_403.html


Options Indexes FollowSymLinks
DirectoryIndex index.html
AllowOverride None
Order deny,allow
Allow from all





但是上面的配置有问题,当index.html存在的时候,系统也通过伪静态去访问了,求助。
我确定我要做的效果是可以达到的,以前这样做过,后来配置弄丢了,怎么想也想不起来哪里写错了。
求助,谢谢。


------解决方案--------------------
#如果目录存在就直接访问目录不进行RewriteRule
RewriteCond %{REQUEST_FILENAME} !-d

#如果文件存在,就直接访问文件,不进行下面的RewriteRule.(不是文件或文件不存在就执行重写)
RewriteCond %{REQUEST_FILENAME} !-f

------解决方案--------------------
学习了……

人气教程排行