还有一个mod_rewrite – 如何达到预期的效果

我真的很感谢mod_rewrite的一些帮助,我知道有关于这个话题在Stack Exchange有64K的答案,我的答案可能在那里,如果只有我可以find那些放在一起做这个

这些规则需要得到充分和准确的实施,没有无限循环,500错误或降低服务器安全的风险。

  1. 没有浏览器redirect – 所以重写,只是内部…浏览器栏保持不变

  2. 不存在的file_names.any_extensionredirect到/error/index.php不存在的文件是否在html根目录或子目录中。

  3. 以下内容应保持不变,并显示默认行为示例:

    URL/ 

    OR URL /?bla-bla或URL?bla-bla

    或者URL / an_exist_file.ext

    OR URL / an_exist_file.ext?bla-bla

    OR URL / an_exist_file.ext /?bla-bla

    以及所有以上的现有path,例如:

     URL/any_path_that_exists/an_exist_file.ext AND with OR without a query string. 
  4. 不过以下内容应该总是在内部重写为URL /?path_or_string_that_does_not_exist和$ _SERVER [[“REQUEST_URI”]应该包含那个不存在的path//string; 例子:

     URL/a_path_that_does_not_exist/ 

    OR URL / a_string_that_is_not_an_existing_path(没有斜线)

    AND URL / a_path_that_does_not_exist / a_file_name_that_exists_in_html_root.ext从html根处理,不存在的path重写为查询string。

我希望这是明确的。 如果任何人都可以帮助我,这将不胜感激。 我已经阅读了所有关于主题的apache笔记(让我头疼),并用googlesearch,查阅了不less堆栈溢出的文章,但无法想出一些可靠的和一起做到以上所有的东西。 应该是简单但对我来说certificate困难。