URL SEO с ASP.NET MVC

public static  boolean moreThanOnce(ArrayList<Integer> list , int number) {
    int count = 0;
    for (int i = 1; i < list.size(); i ++ ) {
        if (list.get(i) == number) {
            count ++;
            if (count > 1) {
                return true;
            }
            else //delete this line
                return false; // delete this line
        }
    }
    return false;//add return here
}

Для устранения ошибки требуется только возврат за пределы цикла for. И я думаю, вы должны удалить еще логику, которая делает метод не может найти число, которое появляется более одного раза правильно.

5
задан Gavin 29 January 2010 в 08:59
поделиться

2 ответа

Это легко выполнимо, если вы добавите запрограммированные маршруты выше общих:

// AboutController.Index()
routes.MapRoute( 
    "About",
    "about",
    new { controller = "About", action = "Index" });

// HomeController.Index()
routes.MapRoute( 
    "Home",
    "home",
    new { controller = "Home", action = "Index" });

// ArticleController.Index(string category, string pagename)
routes.MapRoute( 
    "Article",
    "{category}/{pagename}",
    new { controller = "Article", action = "Index" });

Все они могут использовать один и тот же контроллер. если бы вы хотели, но было бы немного легче, если бы они использовали отдельные.

Единственная проблема, с которой вы столкнулись бы с этим, - это если бы у вас была категория под названием «около» или «дом», но я вряд ли это представлю.

Следует также отметить, что вам не нужно использовать ASP.NET MVC, чтобы использовать возможность маршрутизации .

8
ответ дан 18 December 2019 в 14:51
поделиться

To avoid the problems you mention with the static pages (about, home, etc.) you could take a few different aproaches:

  1. Put the dynamic category pages in a separate path (e.g. www.mysite.com/shop/category/page-name-here)
  2. Put the static pages in a separate path (e.g. www.mysite.com/pages/about). Now you can't have a category called "pages", but all other ones would work.
  3. Put the static routes above the dynamic routes. Not ideal since it could potentially hide category pages if you name your categories poorly, but even if you did #1 or #2, you would still want to do this as a just-in-case measure.

Other caveats/gotchas:

  1. You'll also need to ensure that your category names and page names are unique. On a large site this is not always trivial (or even practical) which is probably why you see URLs like the ones here on Stack Overflow where the question id is actually in the URL, and the "page name" part is just SEO sugar.

  2. You'll need to have a strategy for handling name changes. If a category name or page name is changed, you'll need to have something in place to redirect links to the old names to the new ones for maximum SEO goodness. You'll also want to make sure that the new name of a category/page isn't the same as the old name of another category/page, which adds a bit more complexity to the picture.

All that said, it is feasible, and it it certainly worthwhile in my opinion. Especially if you expect most of your traffic to come from search engines.

5
ответ дан 18 December 2019 в 14:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: