0

我正在尝试重定向任何符合以下条件的网址:

old-domain.com/marketplace/businesses/anything-here/ads/
old-domain.com/marketplace/businesses/anything-here/ads/anyhting-after-this-too
old-domain.com/marketplace/businesses/anything-here/ads/anyhting-after-this-too/anyhting-after-this-too/
etc...

new-domain.com/deal/

这就是我的.htaccess文件的样子

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    RewriteRule ^marketplace/businesses/([a-z0-9\-_]+)/ads/(.*) http://new-domain.com/deal/ [R=301,L]
</IfModule>

我已经尝试了几种变体,包括交换([a-z0-9\-_]+)with([A-Za-z0-9_-\s\.]+)[a-zA-Z-_0-9]+)其他组合,但我似乎无法让它工作。

还要注意我anything-here在网址中所说的位置,这意味着我希望能够匹配几乎所有可能存在的东西。

任何帮助,将不胜感激。

谢谢

4

2 回答 2

1

问题是我有一个物理目录,/marketplace/businesses/其中包含一个.htaccess阻止它工作的文件。

我能够将它添加到该.htaccess文件中,它就像一个魅力。

感谢所有看过并尝试过的人。

于 2012-10-01T14:26:05.863 回答
0

我认为这可能有效。(虽然没试过)

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^marketplace/businesses/(.*) http://new-domain.com/deal/$1 [NC]

这将翻译这个

old-domain.com/marketplace/businesses/anything-here/ads/
old-domain.com/marketplace/businesses/anything-here/ads/anyhting-after-this-too
old-domain.com/marketplace/businesses/anything-here/ads/anyhting-after-this-too/anyhting-after-this-too/

对此

http://new-domain.com/deal/anything-here/ads/
http://new-domain.com/deal/anything-here/ads/anyhting-after-this-too
http://new-domain.com/deal/anything-here/ads/anyhting-after-this-too/anyhting-after-this-too/

或者像这样我想保持零件完好无损,试试这个

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^marketplace/businesses/([a-zA-Z0-9\-_]+)/ads/([a-zA-Z0-9\-_]+) http://new-domain.com/deal/$1/$2 [NC]

这将被翻译成这个

http://new-domain.com/deal/anything-here/anyhting-after-this-too

但我认为其他两个不会匹配正则表达式。

于 2012-09-28T18:08:46.853 回答