ホームページ >バックエンド開発 >PHPチュートリアル >URL が変更されました。RewriteRule の正規表現を手伝ってください
以前の URL が十分に標準化されていなかったため、URL を再調整しましたが、Baidu が長い間 URL を削除することを予期していなかったので、現在はお客様に影響を与えないように、以前の URL が含まれています。アクセスするには、古い URL を新しい URL に一括リダイレクトしたいと思います。
古い形式は次のとおりです: http://www.songhuala.com/p1099/Beijing Gifts/China_flowers_info.html
新しい形式は次のとおりです。 : http://www.songhuala.com/-p-1099.html
私は、htaccess、
RewriteCond %{REQUEST_URI} ^p/d+/.*/China_flowers_info の RewriteEngine で次のリダイレクトが行われました。 .html$
RewriteRule ^(.*)$ ^-p-/d+.html$1 [R= 301,L]
しかし、正しい新しい URL が見つかりません。友達がアドバイスをくれると嬉しいです。午後中ずっとテストしましたが、正規表現はまだ変更されていません。ぜひアドバイスをお願いします。ありがたい。
RewriteRule ^(.*)$ ^-p-/ d+.html$1 [R= 301,L]
赤いマークの部分が間違っているようです
RewriteBase /
RewriteCond %{REQUEST_URI} p(d+)
RewriteRule p(d+) http://www.songhuala.com/-p-$1. html [R=permanent,L]
その後、友人に紹介を依頼して、idreamsoft.com Deadwood について問い合わせたところ、解決しました
リダイレクトを完了する方法は次のとおりです。
RewriteRule の RewriteEngine ^(.*)?p(d+).*?.html$ -p-$2.html [R=301,L]
RewriteCond %{REQUEST_URI} ^p/d+/.*/ China_flowers_info.html$
赤で囲った部分が間違っているようです
はい、確かに今習いました、だから不安で注意も払わなかったのですが、後から人に聞いたらそれが間違いだったことが分かりました。
RewriteBase /
RewriteCond %{REQUEST_URI} p(d+)
RewriteRule p(d+) http://www.songhuala.com/-p-$1.html [R=permanent,L]
さて, やったことあるので大丈夫だと思いますが、テストはしていません。しかし、別の書き方があることも理解できました。