url规则:http://www.host.com/aaa => /A.php?n=aaa
现在我想通过这样的方式实现完全静态化
第一次访问http://www.host.com/aaa时,A.php在网站根目录下生成aaa文件夹并生成index.html
第二次访问即可直接访问之前生成的index.html但是不知道怎么样在第二次访问时做到那一步
要求必须是用户直接访问index.html(如果是header跳转的话,用户看到的URL会改变,这样也不太好),也不想通过A.php读取index.html的方式展现页面或者说这个问题在于aaa目录与index.html的存在与否,url重写方式也不同

解决方案 »

  1.   

    在后台定时,或添加时,直接生成文件,得到一个静态连接link,保存进数据库,用户相看页面时, A连接是<a href="http://www.host.com/aaa/">查看更多...</a>" http://www.host.com/aaa/ " 是保存数据里的, 打开A.php页时生成
      

  2.   

    自定义404错误文件,修改apache设置,将显示404错误的文件指定为一个php文件
    这个php文件根据url显示相应页面并生成静态文件
      

  3.   

    在你的目录下写一个.htaccess文件内容是404处理,然后使用a.php处理即可以。
    ErrorDocument 404 /目录/A.php
      

  4.   

    <VirtualHost *:80>
    ServerName    www.host.com
    DocumentRoot  D:/www/www.host.com
    RewriteEngine On
    RewriteCond   D:/www/www.host.com%{REQUEST_FILENAME}  !-f
    RewriteRule   .* /A.php
    </VirtualHost>以上是apache设定
    功能是  访问 www.host.com/xxx.html
    如果 xxx.html不存在 就会转到(IE的URL不会变化) A.php (A.php的功能 你可以自己定)
      

  5.   

    参数转递与获取访问 www.host.com/xxx.html?y=z&a=b
    如果 xxx.html不存在 就会转到(IE的URL不会变化) A.php (A.php的功能 你可以自己定)
    y=z&a=b
    在A.php也可以用get方法得到如在 xxx.html 不存在 跳到 A.php 在A.php里 用$_SERVER['REQUEST_URI'] 可以得到 xxx.html 
    楼主一定要给分呀 给双倍
      

  6.   

    楼上的方法我试了
    不过比如
    www.host.com/aa/index.html 这个文件存在的时候
    访问www.host.com/aa/ 这个请求也导到了A.php (DirectoryIndex index.html)
      

  7.   

    解决了
    不过www.host.com/aa/ 能自动映射到 www.host.com/aa/index.html
    这一个功能怎么实现