Jump to content

Как сделать ссылки вида /struktura-sajta-i-chpu-razlichnyx-cms/


Recommended Posts

Есть вопрос? Задай его профессиональным веб-мастерам, SEO и другим специалистам!

  • Модератор

Что то я не пойму...а при написании ЦМС об этом подумать нельзя было?)))

В .htacess можно сделать, но без пациентов ничего сказать нельзя

Link to post
Share on other sites

На ASP.NET4 решается несколькими строками

 

global.asax

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
   System.Web.Routing.RouteTable.Routes.MapPageRoute("Articles", "article/{title}", "~/translate_url.aspx")
End Sub
 
translate_url.vb
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
   Dim articleID As String = GetArticleID(Page.RouteData.Values("title"))
   if articleID <> "" then
      Server.Execute("/article/?id=" + articleID)
   End If
End Sub

 

Это на VB, на C# то же самое с точностью до синтаксиса. Функцию поиска нужной статьи в базе по "translitu-v-adrese-stranitsy" придется написать самому.

Link to post
Share on other sites

@Amateur, изучайте движок DLE, там все похоже сделано, файлы которые вам нужны:

.htaccess - корневой

/engine/engine.php

 

 

.htaccess - показано как URL менять.

В engine.php, есть как пример составления MySQL запроса, так и большая часть кода, ее прямо копипаст можно сделать, чуть-чуть подкорректировав.

Link to post
Share on other sites

кусок .htaccess

<IfModule mod_rewrite.c>
  RewriteEngine on

  # Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>

Преобразует ваш юрл  вида

site.com/habrahabr/ в site.com/index.php?q=habrahabr

а все остальное дело техники -- сравниваем адрес с хранящимся в базе, и выдаем соотв. страницу

только мой вам совет, лучше сравнивать хэши, так получается быстрее и элементарным способом отбиваются все sql инекции

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...