Heim  >  Artikel  >  Backend-Entwicklung  >  关于伪静态的一个有关问题,突然忘记一段代码了

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

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

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

------解决方案--------------------
学习了……
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel: 【PHP】对话存储方式详解 Nächster Artikel: 一句代码不太清楚