具体.htaccess重定向中间带有通配符

时间:2013-09-09 23:49:10

标签: regex .htaccess mod-rewrite wildcard

我将在前言中说,其他类似主题的帖子无法帮我解决这个问题。

我正在尝试重写以下内容:

原始
    mydomain.com/brand-collection/{wildcard1}/{wildcard2}.html

改写为:
    mydomain.com/ {wildcard2} html的

示例#1:
    mydomain.com/brand-collection/sony/sony-xperia.html"
将改写为:
    mydomain.com/sony-xperia.html

示例#2:
    mydomain.com/brand-collection/sharp/sharp-aquos.html"
将改写为:
    mydomain.com/sharp-aquos.html

非常感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

如果您想“重写”,那么这意味着浏览器不受影响,并且URI在服务器端完全更改。在文档根目录中的htaccess文件中你需要这样的东西:

RewriteEngine on
RewriteRule ^brand-collection/[^/]+/([^/.]+)\.html$ /$1.html [L]

因此,如果浏览器请求:

http://mydomain.com/brand-collection/sony/sony-xperia.html

它被提供给这里的文件:

http://mydomain.com/sony-xperia.html

如果没有/sony-xperia.html文件,那么您只需获得404。

如果您想重定向浏览器,只需将R标记添加到方括号中。