Я использую .htaccess для преобразования URL-адресов с переменными PHP для очистки URL-адресов. Пока что я могу конвертировать и использовать их в браузере.
Это пример .htaccess
RewriteEngine On
RewriteBase /
RewriteRule ^productgroup/([0-9a-zA-Z]+)$ products/index.php?Cid=$1 [NC,L]
Если я использую в браузере /productgroup/3, он работает нормально, но если запрос для /products/?Cid=3 остается прежним.
Поэтому я добавляю флаг R:
RewriteEngine On
RewriteBase /
RewriteRule ^productgroup/([0-9a-zA-Z]+)$ products/index.php?Cid=$1 [R=302,NC,L]
в браузере я получаю старый URL-адрес, например /products/?Cid=3, даже если я набираю новый, а мне нужно работать наоборот. Я не очень знаком с mod_rewrite, поэтому буду признателен за любую помощь.
Спасибо
ОБНОВЛЕНИЕ
Теперь у меня есть файл .htaccess, в котором работают все внутренние ссылки, но не все внешние, хотя они работают на локальном хосте моего компьютера:
#external
#these are not working
RewriteCond %{QUERY_STRING} ^Cid=([0-9a-zA-Z]+)&Pid=([0-9a-zA-Z]+)$
RewriteRule ^product_info/$ /productinform/%1-%2 [QSD,R=302,L]
RewriteCond %{QUERY_STRING} ^Bid=([0-9a-zA-Z]+)&Pid=([0-9a-zA-Z]+)$
RewriteRule ^product_info/$ /productinform/b-%1-%2 [QSD,R=302,L]
RewriteCond %{QUERY_STRING} ^Pid=([0-9a-zA-Z]+)$
RewriteRule ^product_info/$ /productinform/%1 [QSD,R=302,L]
#the rest is working
RewriteCond %{QUERY_STRING} ^Cid=([0-9a-zA-Z]+)$
RewriteRule ^products/$ /productgroup/%1 [QSD,R=302,L]
RewriteCond %{QUERY_STRING} ^Bid=([0-9a-zA-Z]+)$
RewriteRule ^brands/$ /brand/%1 [QSD,R=302,L]
RewriteCond %{QUERY_STRING} ^Cid=([0-9a-zA-Z]+)&start=([0-9a-zA-Z]+)$
RewriteRule ^news/$ /newsgroup/%1-%2 [QSD,R=302,L]
RewriteCond %{QUERY_STRING} ^Bid=([0-9a-zA-Z]+)&start=([0-9a-zA-Z]+)$
RewriteRule ^news/$ /newsgroup/b-%1-%2 [QSD,R=302,L]
RewriteCond %{QUERY_STRING} ^Pid=([0-9a-zA-Z]+)$
RewriteRule ^new_info/$ /newarticle/%1 [QSD,R=302,L]
#internal
RewriteRule ^productgroup/([0-9a-zA-Z]+)$ products/index.php?Cid=$1 [NC,END]
RewriteRule ^productinform/([0-9a-zA-Z]+)-([0-9a-zA-Z]+)$ product_info/index.php?Cid=$1&Pid=$2 [NC,END]
RewriteRule ^productinform/b-([0-9a-zA-Z]+)-([0-9a-zA-Z]+)$ product_info/index.php?Bid=$1&Pid=$2 [NC,END]
RewriteRule ^productinform/([0-9a-zA-Z]+)$ product_info/index.php?Pid=$1 [NC,END]
RewriteRule ^brand/([0-9a-zA-Z]+)$ brands/index.php?Bid=$1 [NC,END]
RewriteRule ^newsgroup/([0-9a-zA-Z]+)$ news/index.php?Cid=$1 [NC,END]
RewriteRule ^newsgroup/([0-9a-zA-Z]+)-([0-9a-zA-Z]+)$ news/index.php?Cid=$1&start=$2 [NC,END]
RewriteRule ^newsgroup/b-([0-9a-zA-Z]+)-([0-9a-zA-Z]+)$ news/index.php?Bid=$1&start=$2 [NC,END]
RewriteRule ^newarticle/([0-9a-zA-Z]+)$ new_info/index.php?Pid=$1 [NC,END]
Подробнее здесь: https://stackoverflow.com/questions/798 ... edirecting
Htaccess для чистых URL-адресов и перенаправления [закрыто] ⇐ Apache
-
Anonymous
1770563007
Anonymous
Я использую .htaccess для преобразования URL-адресов с переменными PHP для очистки URL-адресов. Пока что я могу конвертировать и использовать их в браузере.
Это пример .htaccess
RewriteEngine On
RewriteBase /
RewriteRule ^productgroup/([0-9a-zA-Z]+)$ products/index.php?Cid=$1 [NC,L]
Если я использую в браузере /productgroup/3, он работает нормально, но если запрос для /products/?Cid=3 остается прежним.
Поэтому я добавляю флаг R:
RewriteEngine On
RewriteBase /
RewriteRule ^productgroup/([0-9a-zA-Z]+)$ products/index.php?Cid=$1 [R=302,NC,L]
в браузере я получаю старый URL-адрес, например /products/?Cid=3, даже если я набираю новый, а мне нужно работать наоборот. Я не очень знаком с mod_rewrite, поэтому буду признателен за любую помощь.
Спасибо
[b]ОБНОВЛЕНИЕ[/b]
Теперь у меня есть файл .htaccess, в котором работают все внутренние ссылки, но не все внешние, хотя они работают на локальном хосте моего компьютера:
#external
#these are not working
RewriteCond %{QUERY_STRING} ^Cid=([0-9a-zA-Z]+)&Pid=([0-9a-zA-Z]+)$
RewriteRule ^product_info/$ /productinform/%1-%2 [QSD,R=302,L]
RewriteCond %{QUERY_STRING} ^Bid=([0-9a-zA-Z]+)&Pid=([0-9a-zA-Z]+)$
RewriteRule ^product_info/$ /productinform/b-%1-%2 [QSD,R=302,L]
RewriteCond %{QUERY_STRING} ^Pid=([0-9a-zA-Z]+)$
RewriteRule ^product_info/$ /productinform/%1 [QSD,R=302,L]
#the rest is working
RewriteCond %{QUERY_STRING} ^Cid=([0-9a-zA-Z]+)$
RewriteRule ^products/$ /productgroup/%1 [QSD,R=302,L]
RewriteCond %{QUERY_STRING} ^Bid=([0-9a-zA-Z]+)$
RewriteRule ^brands/$ /brand/%1 [QSD,R=302,L]
RewriteCond %{QUERY_STRING} ^Cid=([0-9a-zA-Z]+)&start=([0-9a-zA-Z]+)$
RewriteRule ^news/$ /newsgroup/%1-%2 [QSD,R=302,L]
RewriteCond %{QUERY_STRING} ^Bid=([0-9a-zA-Z]+)&start=([0-9a-zA-Z]+)$
RewriteRule ^news/$ /newsgroup/b-%1-%2 [QSD,R=302,L]
RewriteCond %{QUERY_STRING} ^Pid=([0-9a-zA-Z]+)$
RewriteRule ^new_info/$ /newarticle/%1 [QSD,R=302,L]
#internal
RewriteRule ^productgroup/([0-9a-zA-Z]+)$ products/index.php?Cid=$1 [NC,END]
RewriteRule ^productinform/([0-9a-zA-Z]+)-([0-9a-zA-Z]+)$ product_info/index.php?Cid=$1&Pid=$2 [NC,END]
RewriteRule ^productinform/b-([0-9a-zA-Z]+)-([0-9a-zA-Z]+)$ product_info/index.php?Bid=$1&Pid=$2 [NC,END]
RewriteRule ^productinform/([0-9a-zA-Z]+)$ product_info/index.php?Pid=$1 [NC,END]
RewriteRule ^brand/([0-9a-zA-Z]+)$ brands/index.php?Bid=$1 [NC,END]
RewriteRule ^newsgroup/([0-9a-zA-Z]+)$ news/index.php?Cid=$1 [NC,END]
RewriteRule ^newsgroup/([0-9a-zA-Z]+)-([0-9a-zA-Z]+)$ news/index.php?Cid=$1&start=$2 [NC,END]
RewriteRule ^newsgroup/b-([0-9a-zA-Z]+)-([0-9a-zA-Z]+)$ news/index.php?Bid=$1&start=$2 [NC,END]
RewriteRule ^newarticle/([0-9a-zA-Z]+)$ new_info/index.php?Pid=$1 [NC,END]
Подробнее здесь: [url]https://stackoverflow.com/questions/79880411/htaccess-for-clean-urls-and-redirecting[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия