2012-05-16 1 views
0

Я унаследовал пользовательское приложение ColdFusion CMS. URL-адрес, который он создает, ужасен. Совсем не подходит для SEO или читаемости в этом отношении. Пример URL в этой CMS является:Могу ли я создать URL-адрес поисковой системы с этого пользовательского URL-адреса ColdFusion CMS?

http://www.mysite.com/Index2.cfm?a=000003,000010,000019,001335

В принципе, каждый уровень иерархии хранится в базе данных на основе этой длинной строки значений, разделенных запятыми. Таким образом, в примере, который я использовал, эта страница находится на 4 уровнях в иерархии CMS.

В основном то, что я хотел бы видеть это формат похож на этот

http://www.mysite.com/level-1/level-2/level-3/level-4

Возможно ли это? Любая помощь будет принята с благодарностью. Для чего стоит использовать ColdFusion 6 в настоящее время, но в ближайшее время он будет модернизирован до 8.

+0

Короткий ответ: да, это можно сделать. Вы также должны указать, какой OS/веб-сервер вы используете. Sharondio имеет хороший ответ для Apache, но если вы используете Windows/IIS, вам нужен ответ для этой платформы. –

ответ

1

Прежде всего, желаете ли вы иметь index.cfm в URL-адресе? Вроде: http://www.mysite.com/index.cfm/level-1/level-2/level-3/level-4? Если нет, то вам нужно будет переписать, чтобы удалить index.cfm, но все же разрешить CF обрабатывать страницу. Ваш .htaccess будет выглядеть примерно так:

RewriteEngine On 

# If it's a real path, just serve it 
RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule . - [L] 

# Redirect if no trailing slash 
RewriteRule ^(.+[^/])$ $1/ [R=301,L] 

# Rewrite URL paths 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d 
RewriteRule ^([a-zA-Z0-9/-]+)$ /index.cfm%{REQUEST_URI} [PT] 

Следующий шаг, вам нужно «поймать» URL-адреса и подавайте правильные страницы, основанные на SEO дружественных URL. Вы можете захватить входящий URL из переменной CGI.path_info. Трудно понять, как выглядит ваш код, не зная, как он обрабатывает эти URL-адреса в настоящее время, но по существу у вас будет какая-то функция сопоставления, которая захватывала бы имена, удобные для SEO, и заменяла их номерами, чтобы захватить контент.

Третий шаг заключается в переписывании любых URL-адресов, созданных вашей CMS для вывода URL-адресов, ориентированных на SEO. То же отображение происходит здесь, только наоборот.