检测Apache是​​否正在使用mod_rewrite

时间:2011-02-01 18:19:53

标签: apache mod-rewrite seo

客户端如何检测服务器是否正在使用mod_rewrite?现在我知道一些mod_rewrite规则不是很明显。但有些是,例如“SEO Friendly Urls”。除非服务器运行mod_rewrite,否则哪些类型的行为是不可能的?

1 个答案:

答案 0 :(得分:4)

  

除非服务器正在运行mod_rewrite,否则哪些类型的行为是不可能的?

真正的答案是“无”。从理论上讲,任何URL都可以由实际文件或目录组成,包括经典的“SEO友好”URL。

只有间接证据

  • 我能想到的最好的迹象是整个网站结构包含没有.htm .php .html文件扩展名的网址:

    http://domain.com/slugs/house-warming-party
    

    排除该URL为目录的可能性,请求

    http://domain.com/slugs/house-warming-party/index.htm
    http://domain.com/slugs/house-warming-party/index.html
    http://domain.com/slugs/house-warming-party/index.php
    http://domain.com/slugs/house-warming-party/index.asp
    ... whatever other extensions there are .....
    

    如果这些请求全部失败,则该网站很可能正在使用mod_rewrite。但是,如果他们成功,正如@Gumbo所说,它也可能是修复请求的MultiViews选项。无论哪种方式,这是无处接近安全!

  • 根据您的使用案例,您还可以尝试从网站上使用的CMS中扣除一些内容。打开mod_rewrite的Wordpress将显示与关闭时不同的URL结构。大多数其他CMS也是如此。但当然,这也是一种非常不完善的方法。

  • HTML资源与<。strong> .html / .htm / .php结尾的使用会略微反对使用mod_rewrite,但您永远无法确定。

    < / LI>
  • 使用PATHINFO变量(也称为穷人的mod_rewrite)会对使用mod_rewrite有点强烈反对:

    http://example.com/index.php/slugs/house-warming-party 
    

总之,mod_rewrite(与大多数URL重写工具一样)应该是对外界透明的模块。我知道没有可靠的方法从外面检测它,而且可能没有。