将动态 url 重定向到 htaccess 中的新动态 url

Redirecting dynamic url to new dynamic url in htaccess

我正在用头撞墙。我创建了一个网站的更新版本,并且有各种动态页面正在通过 PHP 提供。旧页面通过 htaccess 进行了以下重写:

旧 URL 重写前:

/directorio_hoteles/ean/hotel.php?cou=&hn=&city2=

旧 URL 重写后:

/directorio_hoteles/Mexico/hotel336813/Villa_Mercedes_Petit_Hotel.htm

原始 HTACCESS 中的编码方式如下:

RewriteRule ^([^/]*)/hotel([^/]*)/([^/]*)\.htm$ ean/hotel.php?cou=&hn=&city2= [L]

我知道这种原始格式不是实现此目的的最佳方式,但这是我必须使用的方式,并且动态 url 已经在 google 中编入​​索引。所以我需要将上面已经重写的 url 重定向 (301) 到新的动态格式,即:

新 URL 重写前:

directorio-hoteles/index.php?p=hotel-page&a=&b=&c=

新 URL 重写后:

directorio-hoteles/hotel/Mexico/Villa_Mercedes_Petit_Hotel/336813

这是它在新 HTACCESS 文件中的编码方式:

RewriteRule    ^directorio-hoteles/hotel/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)?$     directorio-hoteles/index.php?p=hotel-page&a=&b=&c=   [NC,L]

所以我不知道如何得到这个:

/directorio_hoteles/Mexico/hotel336813/Villa_Mercedes_Petit_Hotel.htm

重定向到此:

directorio-hoteles/hotel/Mexico/Villa_Mercedes_Petit_Hotel/336813

任何帮助将不胜感激。预先感谢您为解决此问题所做的任何尝试。

您可以在 DOCUMENT_ROOT/.htaccess 文件中将此规则用作 第一条规则

RewriteEngine On

RewriteRule ^(directorio_hoteles)/([^/]+)/(hotel)([^/]+)/([^.]+)\.htm$ ///// [L,NC,NE,R=302]