2016-04-27 12 views
1

をキャプチャするの.htmlリダイレクト:.htaccessファイル - 私は次のような問題に直面していますすべてがID

/manufacturer/product/[ID].html 

私はウェブサイトを再開発している:私はURLは現在のように見えているウェブサイトを持って

(Laravelの使用)となりました、それだけです。私は新しいリンクに戻ってすべてのこれらのリンクをリダイレクトするように.htaccessファイルを使用することが可能であるかどうかを疑問に思って

/product/[ID] 

?つまり、本質的には、古いリンクから[ID]を取得し、新しいリンクにリダイレクトする必要があります。

EDIT:だからAppleMicrosoftA-の両方がどのようなメーカーや内容に応じて変更することができます

mysite.com/parts/apple/A-6-H0.htm 

OR

mysite.com/microsoft/A-1-5F.htm 

ので、リンクは次のようになりますこれは意味がありますか?

+0

はあなたのhtaccessの内部/製造フォルダですか? – starkeen

+0

@starkeenいいえ、これは.htaccessファイルが/ public内にあるlaravelプロジェクトです – Phorce

+0

'mysite.com/parts/apple/A-6-H0.htm'はどこにリダイレクトする必要がありますか? – hjpotter92

答えて

2
RewriteEngine On 
RewriteRule ^parts/(?:[^/]+/)?(.*)\.html?$ /parts/$1/ [R=301,L] 

これは対応しています。

+0

途中で '/ manufacturer'があるので動かないのですが、これを無視する必要があります。'/manufacturer/product/[ID] .htm'から '/ manufacturer/product/[ID] 'それはなんでこんなことができるのですか? – Phorce

+0

@Phorce' manufacturer'が常に存在する場合(製品が続く)、上記のコードは '/ product/ID'ページにリダイレクトし、メーカーも削除します! =) – hjpotter92

+0

これは申し訳ありません。リンクは:/manufacturer/product/[ID].htm - ですが、メーカーはリンゴ、マイクロソフトのようなものかもしれませんので、私はこれを完全に削除したいと思います。 – Phorce

1

これを試してみてください:

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^{domain name}[nc] 
RewriteRule ^(.*)$ {domain name}/$1 [r=301,nc] 
Redirect 301 /manufacturer/product/$1.html product/$1.html 
+0

をご覧ください。これは "内部サーバーエラー"を返します – Phorce

+0

mod-rewriteはmod-aliasで動作しません – starkeen

+0

@mayank - また、/ manufacturer/'/ manufacturer/'は変数です..それはApple、Microsoftなどです。 – Phorce

関連する問題