2013-02-08 86 views
1

我有重复的URL,我需要做一些重定向htaccess的重定向复制网址htaccess的

例子:

原始网址是:

www.mywebsite.com/listofgames/pacman.html 
www.mywebsite.com/listofgames/nintendo.html 
www.mywebsite.com/listofgames/snake.html 

我有大约1000场命名

复制网址示例:

www.mywebsite.com/listofgames/1/pacman.html 
www.mywebsite.com/listofgames/1521/pacman.html 
www.mywebsite.com/listofgames/52154/pacman.html 
www.mywebsite.com/listofgames/abc/pacman.html 
www.mywebsite.com/listofgames/opq/pacman.html 
www.mywebsite.com/listofgames/opq/1/2/35/pacman.html 
www.mywebsite.com/listofgames/154/3562/snake.html 
www.mywebsite.com/listofgames/2541/snake.html 
www.mywebsite.com/listofgames/524/snake.html 
www.mywebsite.com/listofgames/absc/gtar/15/nintendo.html 
www.mywebsite.com/listofgames/nije/nintendo.html 

我需要重定向到原始网址

所以

www.mywebsite.com/listofgames/anynumber/mygamesname.html 
www.mywebsite.com/listofgames/anyword/mygamesname.html 
www.mywebsite.com/listofgames/anyword/anynumber/anyword/mygamesname.html 

必须重定向到

www.mywebsite.com/listofgames/mygamesname.html 
+0

R=301有后才'/ listofgames'和HTML文件之前一(1)文件夹? ¿html文件是否始终是URL路径中的最后一个? ¿listofgames是一个固定的字符串吗? ¿所有要移动的文件的扩展名是'html'还是扩展名可以是'htm'或'php'等? –

+0

有多个文件夹,是的,HTML只是最后一个在URL路径中,是的listofgames是一个固定的字符串,也是所有文件只有扩展名HTML – BerrKamal

回答

1

你可以试试这个:

Options +FollowSymlinks 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_URI} ^/listofgames/.*/([^\.]+)\.html/? [NC] 
RewriteRule .* listofgames/%1.html     [R=301,L] 

重定向永久

http://www.mywebsite.com/listofgames/any/number/of/folders/mygamesname.html

有或没​​有斜线。

到:

http://www.mywebsite.com/listofgames/mygamesname.html

有效地除去/listofgames/文件夹和HTML文件之间的分段路径。

字符串listofgames和扩展html被假定为固定的,而mygamesname被假定为可变的。

必须保留传入的URL结构才能使规则集工作:URL内的最后一个字符串必须是HTML文件。

对于沉默的映射,删除[R=301,L]

+0

Ty兄弟这就是我正在寻找..像魅力一样工作 – BerrKamal