如何mod_rewrite我的URL只显示URL中的子文件夹?

时间:2015-04-12 17:50:48

标签: regex apache mod-rewrite webserver

我有以下网址:

www.domain.com/subfolder/item.php?test=1
www.domain.com/subfolder/item2.php

我想重写网址以仅显示子文件夹:

www.domain.com/subfolder/

这是我到目前为止(在文档根目录中?):

RewriteRule ^(.*)/([^.]+)/$ /$1/$2.php?rw=1 [QSA,L]
RewriteCond %{QUERY_STRING} !^rw=1
RewriteRule ^(.*)/([^.]+)\.php$ /$1/$2/ [R=301,L]

结果:

www.domain.com/subfolder/item/
www.domain.com/subfolder/item2/

是否存在生成URL的“通用规则”,仅显示子文件夹,无论是否存在GET参数。我有很多页面,不想处理每个现有案例。提前谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用

RewriteRule ^subfolder.*$ /subfolder/?  [R=301,L]

输入:

http://www.domain.com/subfolder/item.php?test=1

生成的网址:

http://www.domain.com/subfolder/

该规则将使用http://www.domain.com/subfolder/*重新编写http://www.domain.com/subfolder/的所有网址,?末尾的/subfolder/?将省略查询字符串。

至于选项,您可以选择最适合您的选项。