5

EE 1 から EE 2 にアップグレードしたばかりで、いくつかの変更に苦労しています。たとえば、EE が URL の末尾にスラッシュを出力しなくなったという事実は、EE が生成した URL + 追加のセグメントなどの構造に依存していた多くのリンクを混乱させています。私が行ったすべての場所を見つけて編集することは、私のサイトのサイズと設定を考えると小さな悪夢です. 古い動作を取り戻すために EE をハックする方法はありますか?

4

2 に答える 2

6

一部の場合、言及されている末尾のスラッシュの追加により、一部のフォームとの競合が発生する可能性があります。以下を追加して、リクエストが GET かどうかを確認する方が安全な場合があります。

# Add a trailing slash to paths without an extension
RewriteCond %{THE_REQUEST} ^GET
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule ^(.*)$ $1/ [L,R=301]
于 2012-11-05T22:40:39.807 に答える
0

これには.htaccessソリューションがあります。これは、この問題のために以前のEEサイトで使用していました。

末尾にスラッシュを追加する

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule ^(.*)$ $1/ [L,R=301]

ソース:http ://devot-ee.com/articles/item/simple-htaccess-for-expressionengine-sites

ただし、EE2にはデフォルトで存在するため、OPPOSITEを実行し、 .htaccessを介して末尾のスラッシュを削除して、手動で追加/削除などする必要がないようにすることができます。あなたがそれを決めるなら、ここにコードがあります:

末尾のスラッシュを削除する

RewriteCond %{HTTP_HOST} !^\.yoursite\.com$ [NC]
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]

ソース:http ://ee-spotlight.com/tips/a_standard_htaccess_file_with_expressionengine

于 2012-11-03T22:09:33.810 に答える