一般下载的开源网站后台有伪静态的开启和关闭功能,是怎么实现的?即使Apache的rewrite_module组件没有开启,页面上的url仍然被重写了。url的重写是在代码里面处理的还是在apache处理?假如有一个网站,没有后台,伪静态怎么实现,是在代码里面href=url这里对每个url进行处理还是有其它的方式?

解决方案 »

  1.   

    建个.htaccess放根目录就可以了
    但是apache confige rewrite_module 要开启才行好像
    所有的路径都要经这文件过滤
    例如localhost/test.php?id=3333
    可以用此url访问localhost/3333
    其中重写时要写一些正则语法,
    就是将localhost后面数字取成$1变量,
    识别后跳转到test.php?$id=$1
    对于是url来说还是localhost/3333
    但是处理的却是相当于localhost/test.php?id=3333
    更多关于.htaccess语法可以网上去查,这方面资料也很多
      

  2.   

    嗯,首先要在服务器上面开启rewrite模块,然后在根目录里面放一个.htaccess的文件,然后在里面配规则。很多系统是分层的,即使没有没有开启重写,但是所有的访问都要通过控制层,该层解析命令,然后调用相应的moudle模块,之后调用相应的view层
      

  3.   

    没有rewrite_module的支持处理起来还是比较麻烦的。简单的做法可以获取url自己用正则进行解析。然后完成分发处理的
      

  4.   

    不用rewrite的话 你想想多麻烦啊  你输出的又要做动态的又要搞静态的 ,当你选择伪静态过还要换成静态的,还要获取你的访问的url在转换成动态的 在获取内容  在输出  
      

  5.   

    这个是要配置rewrite的, 否则怎么弄, 明明没有那个文件.
      

  6.   

    apache 和nginx的伪静态不一样的。如果没有服务器可调,只能将index.php这个文件单独处理,再逐步调参数转换了。
      

  7.   

    我想问的实现伪静态代码(url重写)该怎么写,是在代码里面href=url这里对每个url进行处理还是有其它的方式?就拿ecshop举例,后台管理开启了伪静态,页面上的url自然会变成处理后的url。开启rewrite、.htaccess文件是url变成静态的之后对已经成为静态的url进行处理。我所问的问题是有什么好的方法把动态的url变成静态的。
      

  8.   

    你把你举例中的各种url贴出来看看