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

Регистриран на: 10/01/2013 5:08 pm

Support: 0
Bonus: 0
Мнения: 416
Мнение 22/11/2017 1:28 pm     Пренасочване на урл адреси Отговорете с цитат


Опитвам да пренасоча урл на новини с htaccess. По следния начин
Redirect 301 /viewnews.php?id=10 http://сайт/news/10
, но пренасочването не работи отваря старя адрес. Това ми е htaccess файла
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
   
</IfModule>
Redirect 301 /viewnews.php?id=10 http://сайт/news/10

Как да направя работещо пренасочване?
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
teroristd
Редовен
Редовен

Регистриран на: 18/02/2010 1:50 pm

Support: 80
Bonus: 172
Мнения: 1577
Мнение 22/11/2017 3:11 pm      Отговорете с цитат


Така?

Options All -Indexes
Redirect 301 /viewnews.php?id=10/news/10/$1
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
pro12
Турист
Турист

Регистриран на: 10/01/2013 5:08 pm

Support: 0
Bonus: 0
Мнения: 416
Мнение 22/11/2017 4:17 pm      Отговорете с цитат


Пак не става отново си оставам на старя урл.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
teroristd
Редовен
Редовен

Регистриран на: 18/02/2010 1:50 pm

Support: 80
Bonus: 172
Мнения: 1577
Мнение 22/11/2017 6:32 pm      Отговорете с цитат


Изчисти си кеша и пробвай пак.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
anonimen
Активен
Активен

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

Support: 145
Bonus: 289
Мнения: 1334
Мнение 22/11/2017 7:50 pm      Отговорете с цитат


teroristd написа:
Така?

Options All -Indexes
Redirect 301 /viewnews.php?id=10/news/10/$1

Струва ми се че си изпуснал спейса между from->to url-тата.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
pro12
Турист
Турист

Регистриран на: 10/01/2013 5:08 pm

Support: 0
Bonus: 0
Мнения: 416
Мнение 22/11/2017 8:18 pm      Отговорете с цитат


Изтрих кеша пробвах и с друг браузър добавил съм и спейс и пак не става.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
anonimen
Активен
Активен

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

Support: 145
Bonus: 289
Мнения: 1334
Мнение 22/11/2017 8:46 pm      Отговорете с цитат


Ама нали пренасочваш всички заявки към индекса:

    RewriteRule ^ index.php [L]


Трябва оттам да определиш кога ще редиректваш браузъра.

L флагът накрая указва, че спираш дотук и не гледаш по-нататъшни инструкции в htaccess.
Знакът ^ в случая означава, че прихващаш всички заявки. (по принцип означава начало на стринг в regex)

От тези двете следва, че всички заявки към сървъра (за които няма съществуващ файл/директория) ги пращаш към индекса и нататъка какъвто и htaccess да имаш, той няма да се изпълни.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
pro12
Турист
Турист

Регистриран на: 10/01/2013 5:08 pm

Support: 0
Bonus: 0
Мнения: 416
Мнение 22/11/2017 9:10 pm      Отговорете с цитат


anonimen написа:
Ама нали пренасочваш всички заявки към индекса:

    RewriteRule ^ index.php [L]


Трябва оттам да определиш кога ще редиректваш браузъра.

L флагът накрая указва, че спираш дотук и не гледаш по-нататъшни инструкции в htaccess.
Знакът ^ в случая означава, че прихващаш всички заявки. (по принцип означава начало на стринг в regex)

От тези двете следва, че всички заявки към сървъра (за които няма съществуващ файл/директория) ги пращаш към индекса и нататъка какъвто и htaccess да имаш, той няма да се изпълни.

Не ми е целта това. Аз искам да си пренасоча старите си урл към нови. Сега старите урл са така сайт/viewnews.php?id=10 новите урли са http://сайт/news/10
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
anonimen
Активен
Активен

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

Support: 145
Bonus: 289
Мнения: 1334
Мнение 22/11/2017 11:14 pm      Отговорете с цитат


pro12 написа:
anonimen написа:
Ама нали пренасочваш всички заявки към индекса:

    RewriteRule ^ index.php [L]


Трябва оттам да определиш кога ще редиректваш браузъра.

L флагът накрая указва, че спираш дотук и не гледаш по-нататъшни инструкции в htaccess.
Знакът ^ в случая означава, че прихващаш всички заявки. (по принцип означава начало на стринг в regex)

От тези двете следва, че всички заявки към сървъра (за които няма съществуващ файл/директория) ги пращаш към индекса и нататъка какъвто и htaccess да имаш, той няма да се изпълни.

Не ми е целта това. Аз искам да си пренасоча старите си урл към нови. Сега старите урл са така сайт/viewnews.php?id=10 новите урли са http://сайт/news/10


Да, казвам ти, че трябва да го направиш в индекса, защото всичко пристига още отначало там.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
n641951363
Нов
Нов

Регистриран на: 29/08/2017 2:35 pm

Support: 3
Bonus: 6
Мнения: 32
Мнение 23/11/2017 8:20 am      Отговорете с цитат


pro12 написа:
Не ми е целта това. Аз искам да си пренасоча старите си урл към нови. Сега старите урл са така сайт/viewnews.php?id=10 новите урли са http://сайт/news/10


<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteCond %{QUERY_STRING} ^id=([^&]+)
    RewriteRule ^/?viewnews\.php$ http://new-site.com/news/%1? [L,R=301]

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>


Цитат:
/viewnews.php?id=176 -> http://new-site.com/news/176
/viewnews.php?id=10 -> http://new-site.com/news/10
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение Посетете сайта на потребителя
pro12
Турист
Турист

Регистриран на: 10/01/2013 5:08 pm

Support: 0
Bonus: 0
Мнения: 416
Мнение 23/11/2017 8:37 pm      Отговорете с цитат


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


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