0

私の質問は簡単です。symfony 1.4 で SEO 最適化タスクを達成するにはどうすればよいですか?

最初の問題は、SEO だけの問題ではなく、一般的な symfony 1.4 の問題であり、symfony が次のような URL で奇妙なことを行うことです:

モジュール/アクション

モジュール/アクション/

最初のものは機能し、2 番目のものは拒否されるかエラーをスローします。または、最も一般的なものは機能しますが、最初のものに (301 で) リダイレクトされません。これは規則である必要があります。同一。これはいけません。

4

1 に答える 1

2

これは symfony でよくあるエラーで、この末尾のスラッシュが問題を引き起こす可能性があります。最初のものはファイルであり、2番目のものはディレクトリであるため、これは正常であると言う人もいます。symfony ではディレクトリを参照できないため、エラーがスローされます。

ただし、回避策として 2 つのオプションがあります。htaccess を使用するか、カスタム ルーティングを使用します。

htaccess: (ここから)

RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]

カスタム ルーティング: (ここから)

/apps/frontend/config/factories.yml

all:
  routing:
    # class: sfPatternRouting
    class: myPatternRouting

クラスを作成します。

apps/frontend/lib/myPatternRouting.class.php

<?php
class myPatternRouting extends sfPatternRouting
{
  protected function normalizeUrl($url)
  {
    $url = parent::normalizeUrl($url);

    // remove trailing slash
    $url = preg_replace('/\/$/', '', $url);

    return $url;
  }
}
于 2012-08-29T09:36:55.643 に答える