【发布时间】:2014-01-15 00:45:59
【问题描述】:
RewriteRule ^([a-zA-Z0-9]+)?$ index.php?page=$1 [L]
我有以前的代码重写 ex: domain.com/about 到 domain.com/index.php?page=about
所以现在,我想为此添加一个安全措施,以防万一有人将 .html 或 .php 添加到最后认为它应该在那里,我希望它删除扩展名,但仍然遵循我以前的规则。如果文件实际存在,我希望忽略此更改。如果文件存在,还需要处理结尾。
例如:
如果有人输入 about.php 或 about.html,我希望它删除扩展名,然后处理上面的重写规则剩下的内容。
所以about.php会重写为about,然后重写为index.php?page=about
如果可能的话,我希望它实际上将 URL 更改为 domain.com/about。现在,上面的重写离开了 domain.com/about 但只是通过 index.php 处理它。如果他们输入 about.php 或 about.html 我会喜欢它,它会将浏览器重定向到 domain.com/about 。
有什么方法可以实现吗?我已经查看了使用 htaccess 删除文件扩展名,但它们都没有做我想要的重定向到 index.php?page=。他们都想以不同的方式重定向。
编辑
我需要它是通用的。它不能只处理“关于”,我需要它来处理特定位置的任何内容。
【问题讨论】:
标签: .htaccess