2017-07-12 6 views
0

Magentoを1.9.3.4にアップグレードすると、.htaccessファイルが上書きされてしまいました。RegExpとMod Rewriteを使ってURLをリダイレクトする

古い商品のURLは最後に乱数があったため、今は持っていないので、私はそれらをリダイレクトする方法を探しています。

旧URLの構造:

http://example.com/category-1/subcategory/product-name-1421.html 
http://example.com/category-2/subcategory/product-name-5421.html 
http://example.com/category-3/subcategory/product-name-5891.html 

新しいURL構造:

http://example.com/category-1/subcategory/product-name.html 
http://example.com/category-2/subcategory/product-name.html 
http://example.com/category-3/subcategory/product-name.html 

私はRewriteRule ^category/subcategories/(.+?)(-[0-9]+)?$ category/subcategories/$1 [L,R=301]のような正規表現のものを使用することができます知っているが、私はそれが働いて得ることができませんでした。あなたは明らかにあなたのhttpサーバで活性化書き換えモジュールを必要とし、このために

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^/?category/subcategory/(.+?)-\d+\.html$ /category/subcategory/$1.html [R=301] 

:私はおそらくこれを言うと思います

+0

バックアップから古い '.htaccess'ファイルを単に取得しないのはなぜですか? – arkascha

+0

@arkascha私はバックアップコピーを持っていたらいいのに。私が持っているものは '.htaccess'ファイルを持っていません。 –

+0

これはとても悲しいことです。しかし、それが起こった...私の答えは、助けを願って、でも;-) – arkascha

答えて

0

は、あなたが探しているものです。また、動的構成ファイル(下記参照)を使用する場合は、それを有効にする必要があります(AllowOverride指示文を参照)。


と一般的なヒント:あなたは常にhttpサーバ(仮想)ホストの設定の代わりに、動的構成ファイル(.htaccessスタイルファイル)を使用して、内部のようなルールを置くことを好む必要があります。これらのファイルは悪名高いエラーが発生しやすく、デバッグが難しく、サーバーの速度が遅くなります。彼らは、あなたがホスト構成(本当に安いホスティングサービスプロバイダを読む)を持っていないか、独自の書き換えルールを書くことに頼っているアプリケーションを持っている場合にのみ、最後のオプションとして提供されます(これは明白なセキュリティの悪夢です)。

+0

それは働いた。私の日を保存してくれてありがとう。 –

関連する問題