Apache mod_rewrite:仅从URL中删除特定文件夹,并从该文件夹中的所有文件中删除该扩展名

时间:2013-02-18 13:03:22

标签: apache .htaccess mod-rewrite url-rewriting friendly-url

我已经尝试了一些我在.htaccess文件(放在我网站的根目录)上的网络上找到的不同解决方案,但我总是最终得到一个"内部服务器错误& #34; ...

我需要一个通用规则来从URL中删除特定文件夹及其中包含的所有文件的扩展名(在末尾添加一个尾部斜杠),并重定向到重写的URL。所以,例如:

我想要处理的文件夹被称为"页面",因此规则不应该影响任何其他文件夹,我想要那个网址

http://www.example.com/subfolder/pages/
will be rewrited/redirected to
http://www.example.com/subfolder/

http://www.example.com/subfolder/pages/page1.php
will be rewrited/redirected to
http://www.example.com/subfolder/page1/

http://www.example.com/subfolder/pages/subpages/page1.php
will be rewrited/redirected to
http://www.example.com/subfolder/subpages/page1/

依旧......

我怎样才能实现这一目标?

1 个答案:

答案 0 :(得分:0)

这在两条规则中更合乎逻辑:

  1. 删除扩展名:/subfolder/pages/(.*).[^.]+ - > /子文件夹/页/ $ 1 /
  2. 从网址中删除网页:/subfolder/pages/(.*) - > /子文件夹/ $ 1
  3. 没有测试规则,但这应该让你到那里。