2017-07-03 6 views
0

私は301古いページを必要とし、また、このURLからいくつかのパスのRewriteRuleと301

新しいウェブサイトの製品ページのURL例 http://www.mywebsite.com/en/section/nice-url-name_123.html に虚栄心のURLを追加する新しいウェブサイトを持っています私はこれが私のルールです

セクション、名前とIDを取得する必要があり

RewriteRule ^en/([^_]+)/([^_]+)_([0-9]+).html /en/$1/detail.php?name=$2&id=$3 [L] 

これが正常に動作します

私はこのURLを傍受し、私の新しいURLにリダイレクトする方法を見つけることができない、彼らはこのURL形式

http://www.mywebsite.com/en/section/nice-url-name

を使用し、ウェブサイトの以前のバージョンに、IDが不足していると0

することができ

私はURL

RewriteCond %{REQUEST_URI} !\.(php|html?|jpg|png|gif|ttf|ttf)$ 
RewriteRule ^(.*[^/])$ /$1/ [L,R=301] 
でtraillingのスラッシュを追加してみてください方法を見つけるcould'tので、それが http://www.mywebsite.com/en/section/nice-url-name_0.html

になるべきその後、0

と私は無限301ループ で終わることなく、他の方法を見つけることができませんでした。しかし、私はすべての私の拡張子を除外する必要がある。この方法は、そうでない場合は、Apacheはスラッシュを末尾に追加しますセクション

RewriteRule ^en/section1/([^_]+)/ /it/301.php?redirectd=section1&name=$1 [L] 

によって彼らにセクションをキャッチしよう画像、フォント、PDFの終わりとそう

+0

なぜ '([^ _] +)' everywhえ? '([^ /] +)'はセクションの方がはるかに意味がありませんか? – arkascha

+0

そして '/ en/section/nice-url-name'に合っていないのはなぜですか?かなり私はまっすぐ前方に、二重書き直しが必要と思われる。 – arkascha

+0

私に例を教えていただけますか? – al404IT

答えて

1

であなたの声明に答えるために、「私はこのURLを傍受する方法を見つけることができない...」私はこれらの線に沿って何かを提案したいと思います:

RewriteEngine on 
RewriteRule ^/?en/([^/]+)/([^\./]+)$ /en/301.php?redirected=1&section=$1&name=$2 [L]