如何删除和重定向所有.php扩展名,重定向“www”,并删除尾部斜杠?

时间:2011-11-22 06:05:22

标签: php .htaccess mod-rewrite redirect

我一直试图从我网站上的所有页面中删除“.php”,同时还使用.htaccess从URL中删除所有尾部斜杠和“www”。我已经能够同时使用其中的一个或两个,但不是全部。我真的很感激任何帮助。

例如:

  • example.com/ to example.com
  • www.example.com to example.com
  • example.com/index to example.com
  • example.com/index.php到example.com
  • example.com/chatroom.php至example.com/chatroom
  • example.com/directory/到example.com/directory

我想确保旧的URL重定向到新的URL,并且我没有任何与PHP文件共享名称的目录。在我的.htaccess文件中,我还有代码阻止特定的引用并指定403和404错误。 非常感谢你!

2 个答案:

答案 0 :(得分:0)

Hide PHP using htaccess URL rewriting

URL Rewriting for beginners

How to do URL re-writing in PHP?

URL Rewriting tool

检查以上网址。在这些教程中,您可以看到如何重写URL。

答案 1 :(得分:0)

我今天刚才有关于尾随斜杠的问题。这就是我最终在我的.htaccess文件中解决它的问题(重要的是DirectorySlash和第一个重写规则):

mat[, !i]

因此,如果您输入URL example.com/index/,它将重定向到example.com/index。如果您输入example.com/chatroom(并且存在chatroom.php),它仍然在URL中有example.com/chatroom,但您的PHP脚本会收到example.com/chatroom.php

您需要添加的是将index.php重定向到/并删除www的两种情况

我所包含的内容(我不知道您是否需要它)是将任何非现有文件重定向到index.php的最后一条规则