0

URLのセグメントの値を探して、特定の基準に基づいてすべてのリンクを書き換えたいと思います。.htaccess では 1 つのリンクをリダイレクトできましたが、ルールに従って作成しようとすると失敗します。構文が悪いと思います。これが私のコードです。

# here single rewrite, works like a charm.
RewriteRule ^francais/Projects/template/297_tsf/dsource/projects\.xml$ http://www.mysite.com/mobile/fr/index.php/xml/projet/297_tsf/file.xml

# uh oh, trying to write a real rule, doesn't works at all.
RewriteRule ^francais/Projects/template/([a-z0-9]+)/dsource/projects\.xml$ http://www.mysite.com/mobile/fr/index.php/xml/projet/$1/file.xml [NC] [L]

何か案が?

4

1 に答える 1

0

正しい構文は次のとおりです。

RewriteRule ^francais/Projects/template/([a-z0-9]+)/dsource/projects\.xml$ /mobile/fr/index.php/xml/projet/$1/file.xml [NC,L]

次のようなフラグがありました:

[NC] [L]

これは間違った構文です。上記の回答で示したとおりです。

参考:Apache mod_rewrite の紹介

PS:http://www.mysite.comサイレント (内部) 書き換えを使用しているため、ターゲット URL から削除しました。完全な URL が存在http://するため、外部リダイレクトになります。ただし、本当に外部リダイレクトが必要な場合は、次を使用します。

RewriteRule ^francais/Projects/template/(\w+)/dsource/projects\.xml$ /mobile/fr/index.php/xml/projet/$1/file.xml [NC,L,R]
于 2013-10-02T18:15:07.423 に答える