Dyl*_*lan 4 apache .htaccess mod-rewrite url-rewriting
所以我只是继承了一个网站.我想要做的第一件事就是构建一个漂亮的小标准,易于使用的CMS,它允许创建一个包含任何URL的页面(例如:whatever.html).
因此,如果用户点击example.com/whatever.html,它应该获取whatever.html的任何db信息并显示它.这是磨坊的事情.
我的问题是网站上有很多页面(都在.htaccess中列出)需要继续访问.例如,/ Promotions通过.htaccess链接到promotions.php,我需要它保持这种状态.
任何人都知道如何构建.htaccess文件以允许特定的重写仍然有效但是通过index.php重新路由所有其他请求?
目前,我只有.htaccess显示一个自定义404页面,该页面依次检查数据库的数据库并显示它(如果存在).这是一个简单的解决方案,但我知道有些人有奇怪的浏览器工具栏(愚蠢与否,它们存在:))autoredirect 404s,我不想用这些工具栏来惹恼我的用户不允许访问某些页面.
非常感谢你的帮助!
在RewriteRule
晋升应该仍然工作,因为它不是404ing.
如果404处理程序显示页面,因为它存在于数据库中,那么它应该真正返回200 OK
状态(覆盖404状态),因此您不应该对浏览器工具栏有任何问题.
至于进行重新路由,您可以执行以下操作:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^.*/(promotions|anotherone|somethingelse)($|/.*$) [NC]
RewriteRule ^(.*)$ /index.php?p=$1
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8559 次 |
最近记录: |