.htaccess将父文件夹重写为子文件夹

时间:2013-12-25 17:30:04

标签: php regex apache .htaccess mod-rewrite

我正在寻找重写网址,所以如果有人登陆父文件夹,他们将被重定向到其子文件夹。 http://www.domain.com/portfolio应该带我去http://www.domain.com/portfolio/example

RewriteEngine已启用,文件中还有其他RewriteRules,它们正在运行。我尝试了以下重写,但没有执行重定向:

 RewriteRule ^/portfolio/(.*)$ /portfolio/example/$1 [R=301,L,QSA]

 RewriteCond %{HTTP_HOST} ^(www.)?domain.com/portfolio$
 RewriteRule ^(/)?$ portfolio/example[L,QSA]

 RewriteRule ^portfolio/(.*) http://www.domain.com/portfolio/example/$1 [R=301,L,QSA]

 RewriteRule ^portfolio$ http://www.domain.com/portfolio/example[R=301,L,QSA]
 RewriteRule ^portfolio/(.*) http://www.domain.com/portfolio/example$1 [R=301,L,QSA]

重写网址的正确语法是什么,这样如果访问者登陆父组合文件夹,他们会转到组合/示例子文件夹?

1 个答案:

答案 0 :(得分:1)

将此代码放入DOCUMENT_ROOT/.htaccess文件中:

RewriteEngine On

RewriteRule ^portfolio(/(?!example).*|)$ /portfolio/example$1 [R=301,L,NC]