从两个目录深入到根的临时重定向

时间:2013-01-28 06:20:07

标签: .htaccess mod-rewrite url-redirection

我有这个目录结构:

|-language-A\
|-language-A\program-A
|-language-A\program-B
|-language-A\program-C
|
|-program-A\

目前program-A未转换为language-A,但谷歌能够以某种方式抓取此目录,现在它已显示在搜索结果中。我需要将language-A\program-A重定向到根目录中的program-A ...而不是language-A内的所有文件夹只是该目录。这是一个临时重定向,因为我将在转换准备就绪后删除该规则。

所以基本上它会是这样的:

http://example.com/language-A/program-A/what-ever

要:

http://example.com/program-A/what-ever

1 个答案:

答案 0 :(得分:1)

问题实际上并没有多说,所以我假设所有字符串都是固定的,没有参数可以通过:

你可以试试这个:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI}   ^/language-A/program-A/?   [NC]
RewriteRule .*    program-A  [R,L]

暂时重定向

http://example.com/language-A/program-A

要:

http://example.com/program-A

全部根据您的问题:I need to redirect language-A\program-A to program-A in the root...

已更新

根据问题更新:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI}   ^/language-A/program-A(.*)?   [NC]
RewriteRule .*    program-A%1  [R,L]

暂时重定向

http://example.com/language-A/program-A/what-ever

要:

http://example.com/program-A/what-ever

/what-ever是可选的,如果存在则会被传递。