htaccess重写,怎么做?

时间:2011-08-20 05:58:36

标签: .htaccess mod-rewrite

假设我有一个文件夹中的链接列表,例如:

http://www.site.com/folder/subfolder/subfolderfolder/hello-one.php
http://www.site.com/folder/subfolder/subfolderfolder/hello-two.php
http://www.site.com/folder/subfolder/subfolderfolder/hello-apple.php
http://www.site.com/folder/subfolder/subfolderfolder/hello-pear.php
http://www.site.com/folder/subfolder/subfolderfolder/hello-orange.php
http://www.site.com/folder/subfolder/subfolderfolder/hello-six.php
http://www.site.com/folder/subfolder/subfolderfolder/hello-banana.php

我希望它们看起来像:

http://www.site.com/folder/subfolder/subfolderfolder/hello-one/
http://www.site.com/folder/subfolder/subfolderfolder/hello-two/

依旧......

我该怎么做呢?我只希望它为这个文件夹完成,对于里面的php文件,没有为每个页面做一个规则,它可以全局完成这个文件夹中的所有php文件吗?

谢谢

2 个答案:

答案 0 :(得分:0)

这可能会有所帮助

假设您只想为此文件夹执行此操作

RewriteRule http://www.site.com/folder/subfolder/subfolderfolder/(/*)$ 
http://www.site.com/folder/subfolder/subfolderfolder/$1.php

以上代码将在一行中,我已将第二行放在可见性

您还可以查看本教程http://corz.org/serv/tricks/htaccess2.php

答案 1 :(得分:0)

试试这个

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

这样您就可以http://www.site.com/folder/subfolder/subsubfolder/home-one.php

访问http://www.site.com/folder/subfolder/subsubfolder/home-one

您可以创建其他规则,可以设置重定向,以便旧链接将被强制使用新链接。只是google问题有很多教程和帮助。这是我找到的 - http://www.sicanstudios.com/how-to-remove-php-html-htm-extensions-with-htaccess/