>  기사  >  백엔드 개발  >  关于伪静态的一个有关问题,突然忘记一段代码了

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

WBOY
WBOY원래의
2016-06-13 12:51:50830검색

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

<br />
<VirtualHost *:80><br />
<br />
RewriteEngine ON<br />
<br />
RewriteCond  %{HTTP_HOST} ^(.*)www.aaa.com$ [OR]<br />
RewriteCond  %{HTTP_HOST} ^([^www]*).aaa.com$<br />
RewriteCond  %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f<br />
RewriteRule  ^(.*)$        http://www.aaa.com.$1  [R,QSA,L]<br />
<br />
RewriteRule  ^/([a-zA-Z]+)\.html$	/run.php?controller=$1&action=$1&default=1 [L]<br />
<br />
    ServerAdmin admin@yahoo.com.cn<br />
    DocumentRoot "E:/www/home"<br />
    ServerName www.aaa.com<br />
    ErrorLog "D:/AppServ/log/index_error.log"<br />
    CustomLog "D:/AppServ/log/index_access.log" common<br />
    ErrorDocument 404 http://www.aaa.com/error_404.html<br />
    ErrorDocument 403 http://www.aaa.com/error_403.html<br />
<br />
    <Directory "E:/www/home"><br />
    Options Indexes FollowSymLinks<br />
    DirectoryIndex index.html<br />
    AllowOverride None<br />
    Order deny,allow<br />
    Allow from all<br />
   </Directory><br />
</VirtualHost><br />
<br />


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


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

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

------解决方案--------------------
学习了……
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.