• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 3年前 (2022-01-23) 11次浏览 已收录 0个评论
文章目录[隐藏]

我要达到这么一种效果:当index.html存在的时候,就访问存在的index.html文件,不存在的时候,就通过伪静态去动态访问,配置如下:

RewriteEngine ONRewriteCond  %{HTTP_HOST} ^(.*)www.aaa.com$ [OR]RewriteCond  %{HTTP_HOST} ^([^www]*).aaa.com$RewriteCond  %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-fRewriteRule  ^(.*)$        ht<i style="color:transparent">本¥文来源gaodai$ma#com搞$代*码*网(</i><strong>搞代gaodaima码</strong>tp://www.aaa.com.$1  [R,QSA,L]RewriteRule  ^/([a-zA-Z]+)\.html$	/run.php?controller=$1&action=$1&default=1 [L]    ServerAdmin [email protected]    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

对啊,RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f 意思也一样吧
而且我也照着你的试过了,也不行
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

是不是第四行和第五行写错了呢

搞定啦 第七行和第八行换下位置就ok啦

学习了……

继续求助:
第八行:http://www.aaa.com.$1 最后的点. 如果去掉的话,网站就打不开了,按理说那个点是不需要的,是我误写上去的,刚刚发现了,就去掉,然后重启apache ,发现网站打不开了,报302错误,想不通啊

呵呵 已经搞定 第五行www前面少了一个.


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于伪静态的一个问题,突然忘记一段代码了
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址