Правило перенаправления .htaccess для сайта - PullRequest
1 голос
/ 27 декабря 2011

Мне нужна помощь с переписыванием URL htaccess для моего сайта.

Проблема в том, что только у первой страницы в некоторой категории есть хороший бесплатный URL, а у всех других страниц есть грязные URL.

ДляПример первой страницы имеет такую ​​ссылку:

http://www.my-site-name.com/Category-name/Subcategory-name/

Но страница 2 и другие страницы выглядят так:

http://www.my-site-name.com/showcat.php?cat=Category-name&subcat=Subcategory-name&page=2
http://www.my-site-name.com/showcat.php?cat=Category-name&subcat=Subcategory-name&page=3

Итак, мне нужно какое-то дружественное для SEO правило перенаправления htaccess, чтобы сделатьURL-адреса, подобные этому:

http://www.my-site-name.com/Category-name/Subcategory-name-page-X/

или как этот

http://www.my-site-name.com/Category-name/Subcategory-name/X/

Но, вероятно, я хотел бы сначала больше.

Это часть .htaccess для этого: (Я только что добавил полный контент, может быть, есть что-то еще об этом.

## For top rated items
RewriteRule ^top/page/(.*)/$ top.php?page=$1 [L]

## For latest items
RewriteRule ^latest/recent-page-(.*)/$ latest.php?page=$1 [L]

## For show most rated - most clicked - most downloaded and most searched items
RewriteRule ^most-rated.html$ showmost.php?type=1 [L]
RewriteRule ^most-clicked.html$ showmost.php?type=2 [L]
RewriteRule ^most-downloaded.html$ showmost.php?type=3 [L]
RewriteRule ^most-Searched.html$ showmost.php?type=4 [L]

## For showing category of item
RewriteRule ^(.*)/$ showcat.php?cat=$1 [L]

## For showing subcategory of item
RewriteRule ^(.*)/(.*)/$ showcat.php?cat=$1&subcat=$2 [L]

## For showig item
RewriteRule ^(.*)/(.*)/(.*).html$ show.php?cat=$1&sub_cat=$2&img=$3&rewrite=true [L]

## this section should be inserted just after the showing item rule above
#if the query string has cat, sub_cat and Img
RewriteCond %{QUERY_STRING} ^cat=(.+)&sub_cat=(.+)&img=(.+)$ [NC]
#and it is for resource show.php, then 301 redirect to Keyword rich URL
RewriteRule ^show\.php$ http://www.my-site-name.com/%1/%2/%3.html? [NC,L,R=301]

1 Ответ

2 голосов
/ 27 декабря 2011

Я тоже немного почистил

#don't rewrite if file or dir exists
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .* - [L]

## For showing category of item
RewriteRule ^([^/]*)/$ showcat.php?cat=$1 [L]

## For showing paged subcategory of item
RewriteRule ^([^/]*)/([^/]*)-page-([0-9]+)/$ showcat.php?cat=$1&subcat=$2&page=$3 [L]

## For showing subcategory of item
RewriteRule ^([^/]*)/([^/]*)/$ showcat.php?cat=$1&subcat=$2&page=1 [L]

## For showig item
RewriteRule ^([^/]*)/([^/]*)/([^/]*).html$ show.php?cat=$1&sub_cat=$2&img=$3&rewrite=true [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...