1

サイトの新しいバージョンを立ち上げたばかりで、サイトを静的ファイルから ExpressionEngine に移動しました。

私は Ellis 承認の htaccess メソッドを使用して URL から index.php を削除していますが、古いサイトからいくつかの URL をリダイレクトする必要もあり、リダイレクトされたファイルに (適切な用語がないため) アーティファクトが発生しています。 URL。

たとえば、次のリダイレクトがあります。

RedirectMatch 301 /2013/atlanta/ /event/atlanta-2013

実際にあなたをここに送ることになります:

http://aneventapart.com/event/atlanta-2013?/2013/atlanta/

幸いなことに、ページは引き続き正しく読み込まれますが、そのクエリ文字列をそこに入れないようにしたいと思います。

以下は、ExpressionEngine の URL から index.php を削除するスニペットです。

RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]

何か助けはありますか?

4

2 に答える 2

1

決して .htaccess の専門家ではありませんが、ExpressionEngine コミュニティのすべての著名人に質問全体を任せたい場合は、代わりに stackexchange に投稿してください。

そうは言っても、ここに私のショットがあります。からリダイレクトしたい場合

http://aneventapart.com/2013/atlanta/

http://aneventapart.com/event/atlanta-2013/

301 ルールは、.htaccess で index.php を削除する部分の前に配置する必要があります。私は次のようなルールを書きます:

RewriteRule ^2013/atlanta/ /event/atlanta-2013/ [R=301,L]

あと、リニューアルおめでとうございます!

于 2012-12-02T15:46:03.097 に答える
0

以下のサブページに一致させようとしている場合を除き: /2013/atlanta/something/ たとえば、次をお勧めします

Redirect 301 /2013/atlanta/ http://aneventapart.com/event/atlanta-2013/

したがって、完全な URL への URI を実行すると、最後に表示されている URI の基本的なデイジーチェーンが削除されます。

余談ですが、これを expressionengine.stackexchange.com パブリック ベータ サイトに移動できますか?

于 2012-12-04T01:20:13.650 に答える