не может перенаправить URL строки запроса - PullRequest
0 голосов
/ 28 мая 2018

Я пытаюсь очистить URL перенаправления URL-адреса строки запроса.Я перепробовал все ответы и правила, представленные в stackoverflow и на других сайтах, но ничего не изменилось.Я думал, что это ошибка файла .htaccess, но я обнаружил, что она работает нормально, чтобы создать другую ошибку.Я пытаюсь перенаправить

http://localhost/ourallnews/category.php?cat=News

К

http://localhost/ourallnews/News/

Сначала я попытался использовать это.

RewriteEngine on
RewriteCond %{QUERY_STRING} ^cat=(\w+)
RewriteRule ^ourallnews/category\.php$ /ourallnews/%1? [R=302,L]

После этого я попытался

RewriteEngine on
RewriteCond %{QUERY_STRING} ^cat=(\w+)$
RewriteRule ^ourallnews.*$ /ourallnews/%1/? [R=302,L]

Ничего не изменилось.

Я очищаю кеш браузера, перезапускаю apache, но не работает.URL-адрес строки запроса остался.

Затем, наконец, это приносит изменение.

RewriteCond %{QUERY_STRING} .
RewriteRule ^ %{REQUEST_URI}? [R=301,L]

Изменение

http://localhost/ourallnews/category.php?cat=News

на

http://localhost/ourallnews/category.php

Но мое требование - показывать значение строки запроса, а не URI.

http://localhost/ourallnews/news/

Пожалуйста, помогите мне

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Для меня работает следующее:

RewriteEngine on
RewriteCond %{QUERY_STRING} ^cat=(\w+)$
RewriteRule ^ourallnews.*$ /ourallnews/%1/? [R=302,L]

Некоторые различия с вашим:

RewriteRule match:

  • ^ourallnews.*$, что будет соответствовать чему угоднокоторый начинается с ourallnews
  • ^ourallnews/$, который не будет совпадать, поскольку $ означает конец строки без category.php

RewriteRule переписать:

  • /ourallnews/%1/? - ваш желаемый выходной URL
  • Нет необходимости сопоставлять category.php в результате перезаписи
0 голосов
/ 28 мая 2018

Вы можете использовать это

RewriteEngine on
RewriteCond %{QUERY_STRING} ^cat=(\w+)
RewriteRule ^ourallnews/category\.php$ /ourallnews/%1? [R=302,L]

Это перенаправит /ourallnews/category.php?cat=value на /ourallnews/value.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...