我正在尝试重定向符合以下条件的任何网址:
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\-_]+)
与([A-Za-z0-9_-\s\.]+)
和[a-zA-Z-_0-9]+)
以及其他组合进行交换,但我似乎无法让它发挥作用。
另请注意我在网址中说anything-here
的位置,这意味着我希望能够匹配那里的任何内容。
任何帮助都将不胜感激。
由于
答案 0 :(得分:1)
问题是我在/marketplace/businesses/
有一个.htaccess
文件的物理目录阻止了它的运行。
我能够将其添加到.htaccess
文件中,它就像魅力一样。
感谢所有看过的人,并采取了刺。
答案 1 :(得分: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
但我不认为其他两个会匹配正则表达式。