2017-07-11 5 views
1

私が取り組んでいるサイトのドメインとURLの構造を変更しました。htaccess help - ドメインを変更してセグメントを削除

どのようにすれば、下の古い構造からのすべてのリクエストを新しい構造にリダイレクトできますか?また、新しい構造にはスラッシュが付きません。

OLD:http://www.domain.me/2017/01/30/entry-title/

---- 301は、以下にリダイレクト--->

NEW:RewriteRule /\d{4}/\d{2}/\d{2}/(.*) $1 [R=301, L]

感謝を:http://www.newdomain.com/entry-title

これは私がこれまで試してみましたものです

更新:htaccess:

<IfModule mod_rewrite.c> 

RewriteEngine On 

#entry pages 
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.me$ [NC] 
RewriteRule ^/?\d{4}/\d{2}/\d{2}/([^/]+)/?$ http://www.newdomain.com/$1 [R=301,L,NE] 

#other 
RewriteRule ^shop/?$ "http://www.newdomain.com/shop" [R=301] 
RewriteRule ^shop-wish-list-2017/?$ "http://www.newdomain.com/shop" [R=301] 
RewriteRule ^about-me/?$ "http://www.newdomain.com/about" [R=301] 
RewriteRule ^contact/?$ "http://www.newdomain.com/about" [R=301] 
RewriteRule ^category/dubai/?$ "http://www.newdomain.com/category/dubai" [R=301] 
RewriteRule ^category/travel/?$ "http://www.newdomain.com/category/travel" [R=301] 
RewriteRule ^category/health/?$ "http://www.newdomain.com/category/lifestyle" [R=301] 
RewriteRule ^category/beauty/?$ "http://www.newdomain.com/category/fashion-beauty" [R=301] 
RewriteRule ^category/lifestyle/?$ "http://www.newdomain.com/category/lifestyle" [R=301] 

</IfModule> 

答えて

0

あなたはかなり近いです。あなたは使用することができます。

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.me$ [NC] 
RewriteRule ^/?\d{4}/\d{2}/\d{2}/([^/]+)/?$ http://www.newdomain.com/$1 [R=301,L,NE] 
  • ^/?は、そのルールは我々がターゲットに/$1
それを捨てることができるように末尾のスラッシュはオプションになり、同様の.htaccess
  • /?$からApache設定から動作するように、スラッシュオプションをリードします

    RewriteEngine On行の後にこのルールを最初のルールにします。

  • +0

    おそらく私のところで混乱するかもしれませんが、どこに新しいドメインを追加するのですか?だから、すべてのリクエストは新しい構造の新しいドメインに行きますか?ありがとう – Mark

    +0

    あなたが上記のように新しい構造で新しいドメインにすべての古いドメイン要求を送信するように。 – Mark

    +0

    謝罪、私はちょうどこれを再訪問することができました。最初のドメインにスラッシュが付いている場合は機能しません。 http://domain.me/2222/33/33/entry-title/。もし私がそれを取り除くと、それは完璧に機能します。 – Mark

    関連する問題