- Пренасочване с php и htaccess
WT форуми -> PHP MySQL ASP.NET -> Пренасочване с php и htaccess
Създайте нова тема Напишете отговор 
Автор Съобщение
Msecurity
Потребител
Потребител

Регистриран на: 18/09/2010 8:12 am

Support: 19
Bonus: 37
Мнения: 737
Мнение 17/11/2017 10:05 am     Пренасочване с php и htaccess Отговорете с цитат


Здравейте,
в момента всички урл адреси са така
/категория/подкатегория/име-на-нещо-си
- като така си се генерираха , и въпроса е: има ли как чрез php или htaccess да премахна всичко преди /име-на-нещо-си и да пренасоча без да имам умрели линкове.
пп: не е идея едно по едно да пренасочвам защото са близо 30 000 линка...
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла Посетете сайта на потребителя
novakabg
Турист
Турист

Регистриран на: 13/05/2016 2:29 pm

Support: 5
Bonus: 10
Мнения: 286
Мнение 17/11/2017 10:51 am      Отговорете с цитат


Принципно става със 301 пренасочване, пишеш система за SEO и тя има базаданни сега въпроса е твойте адреси къде се складират ако са във базаданни пишеш система да направи на всичките препращане 301 ако искаш сео-то да се запази!
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Msecurity
Потребител
Потребител

Регистриран на: 18/09/2010 8:12 am

Support: 19
Bonus: 37
Мнения: 737
Мнение 19/11/2017 11:32 am      Отговорете с цитат


Дам, но въпроса ми беше друг:
Старият урл адрес е :
категория/под-категория/фирма, а новият е само /фирма, как трябва да напиша заявката в htaccess за да пренасочва с 301 от старият към новият урл адрес без да имам умрели линкове?
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла Посетете сайта на потребителя
anonimen
Активен
Активен

Регистриран на: 11/06/2012 8:07 pm

Support: 153
Bonus: 305
Мнения: 1417
Мнение 19/11/2017 3:13 pm      Отговорете с цитат


Msecurity написа:
Дам, но въпроса ми беше друг:
Старият урл адрес е :
категория/под-категория/фирма, а новият е само /фирма, как трябва да напиша заявката в htaccess за да пренасочва с 301 от старият към новият урл адрес без да имам умрели линкове?


Вече съм го позабравил, но това трябва да е доста близо до истината:

RewriteEngine On
RewriteRule ^[^/]+/[^/]+/([^/\.]+)$ /$1 [R=301,L]


Като съм приел, че "фирма" няма да съдържа точки - за да можеш да си зареждаш .js/.css файлове свободно.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Msecurity
Потребител
Потребител

Регистриран на: 18/09/2010 8:12 am

Support: 19
Bonus: 37
Мнения: 737
Мнение 20/11/2017 9:40 am      Отговорете с цитат


А дали няма да е проблем че преди това имам:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)/(.*)$ /index.php?lang=$1&route=$2 [L]
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Изпрати мейла Посетете сайта на потребителя
anonimen
Активен
Активен

Регистриран на: 11/06/2012 8:07 pm

Support: 153
Bonus: 305
Мнения: 1417
Мнение 20/11/2017 9:08 pm      Отговорете с цитат


Msecurity написа:
А дали няма да е проблем че преди това имам:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]*)/(.*)$ /index.php?lang=$1&route=$2 [L]


Проблем е. Щото всичко преди първата наклонена черта автоматично го броиш за езикова променлива и изобщо няма да стигнеш дотам да гледаш дали има категория/подкатегория. То логически няма как да стане. Защо не разкараш езика от урл-то и не го държиш в бисквитките?

И изобщо как си представяш разликата между категория/подкатегория/нещо и език/нещо? То първото е частен случай на второто, тоест на теб винаги ще ти минава проверката на първото и няма да стигаш до второто.

Просто вземи това урл:

example.com/en/first/second


htaccess откъде да знае дали:

en и first са съответно категория и подкатегория
или
en e eзик а first e route?
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Покажи мнения от преди:    
Създайте нова тема   Напишете отговор    web-tourist.net Форуми -> PHP MySQL ASP.NET Часовете са според зоната GMT + 2 Часа
Страница 1 от 1


 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети