我不知道这是属于这里还是在Doctype上,所以我决定在这里发帖。
我的问题很简单 – 大多数我的网站上的链接,如果你要复制主页面的位置,就像www.example.com/dog/foo
他们返回404的。 但是,如果您inputwww.example.com/dog/foo.php,则会显示正确的页面。
有没有这样做,每个页面的.php自动添加?
提前致谢。
如果您使用的是Apache服务器,则可以使用.htaccess文件。 但是你甚至不需要一个真正叫做foo.php的文件。 看到这个例子:
RewriteEngine On RewriteRule nice/link/name$ foo.php?param=value
这将指向链接example.com/nice/link/name到根目录中的脚本foo.php,甚至添加一个参数。 这被许多网站使用.htaccess文件。 为了您的需要,您可以使用这个重写规则:
RewriteEngine On RewriteRule dog/(.*)$ dog/$1.php
另一个您可能会感兴趣的事情,而不是重写URL,MultiViews,这将允许您导航到example.com/dog/foo.php作为example.com/dog/foo 。 我个人更喜欢MultiViews,因为它允许你拥有诸如example.com/view/8-26-2010/stuff/you/posted地方,其中view是实际的php文件和/8-26-2010/stuff/you/posted/是传递给它的查询。 无论如何,启用MultiViews把这个在你的.htaccess
Options Indexes FollowSymLinks Includes MultiViews
您在Apache中查找的选项是MultiViews 。 有了这个设置在你的Options中.htaccess文件或主Apacheconfiguration文件(S)它会告诉Apachefind任何文件的扩展它理解,并提出一个更完整的文件名没有给出它。 这确实要求为适当的处理程序configuration扩展名(在这种情况下.php),但如果给出完整的文件名(foo.php),那么这应该不成问题。