显示基于URL的内容

时间:2015-03-06 14:07:52

标签: apache url-rewriting

在我的网站中,我希望制作更简单的网址,例如: http://www.example.com/about

而不是: http://www.example.com/about.php

主要是为了美观,现在如果请求目录,我将Apache重定向到./default.php。但是这迫使我在创建一个目录 http://www.example.com/about/以及其中名为default.php的文件,其结尾为: http://www.example.com/about/default.php

我知道有更好的方法,可能使用PHP或JS,有什么用?

1 个答案:

答案 0 :(得分:0)

这一切都在阿帕奇的配置中, rewriteEngine可以为你做到这一点

http://httpd.apache.org/docs/current/mod/mod_rewrite.html http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

http://alexcican.com/post/how-to-remove-php-html-htm-extensions-with-htaccess/


取自第三个链接的摘录: 要从PHP文件中删除.php扩展名,例如yoursite.com/wallpaper.php到yoursite.com/wallpaper,您必须将以下代码添加到Apache配置中:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

如果您要删除.html扩展程序:

RewriteRule ^([^\.]+)$ $1.html [NC,L]

就是这样!您甚至可以链接HTML文档中的页面,而无需添加页面的扩展名。例如:

<a href="http://whatever.com/wallpaper" title="wallpaper">wallpaper</a>