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

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

WBOY
WBOYOriginal
2016-06-13 12:51:50810browse

关于伪静态的一个问题,突然忘记一段代码了
我要达到这么一种效果:当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

------解决方案--------------------
学习了……
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn