%{REQUEST_URI}
и %{THE_REQUEST}
являются переменными в mod_rewrite. Эти переменные содержат следующее:
%{REQUEST_URI}
будет содержать все, что находится за именем хоста и перед строкой запроса. В url http://www.example.com/its/a/scary/polarbear?truth=false
, %{REQUEST_URI}
будет содержать /its/a/scary/polarbear
. Эта переменная обновляется после каждого переписывания.
%{THE_REQUEST}
- это переменная, которая содержит весь запрос, как это было сделано на сервере. Это что-то в виде GET /its/a/scary/polarbear?truth=false HTTP/1.1
. Поскольку запрос, который был сделан на сервер, является статичным в течение одного из таких запросов, эта переменная не изменяется при перезаписи. Поэтому это полезно в определенных ситуациях, когда вы хотите только переписать, если внешний запрос содержит что-то. Он часто используется для предотвращения бесконечных циклов.
Полный список переменных можно найти here.
В вашем случае у вас будет ссылка на search/2?search=x&search_by=y
. Вы хотите внутренне переписать это на index.php?search=x&search_by=y&page_no=2
. Вы можете сделать это с помощью следующего правила:
RewriteRule ^search/([0-9]+)$ /index.php?page_no=$1 [QSA,L]
Первый аргумент соответствует внешний запрос, который приходит в Затем переписана /index.php?page_no=2
.. Флаг QSA
(строка запроса добавляет) присоединяет существующую строку запроса к переписанной строке запроса. В итоге вы получите /index.php?search=x&search_by=y&page_no=2
. Флаг L
останавливает «раунд» перезаписи. Это просто оптимизация.
- RewriteCond% {REQUEST_FILENAME}! -fRewriteCond% {REQUEST_URI} ^/Home_Page/([A-Za-z-0-9 -] +)/([0-9] +) $ -RewriteRule^([ A-Za-z-0-9 -] +)/([0-9] +) /? $ Kl.php? $ 1 & page_no = $ 2 [L, NC] –
RewriteCond% {REQUEST_FILENAME}! -f RewriteCond% { REQUEST_URI} ^/Home_Page/([A-Za-z-0-9 -] +)/([0-9] +) $ RewriteRule^([A-Za-z-0-9 -] +)/([0-9] +) /? $ Kl.php? $ 1 & page_no = $ 2 [L, NC] –
Пожалуйста, используйте кнопку редактирования под своим сообщением, чтобы отредактировать эту информацию. Как вы можете видеть, это не читается в комментариях , Пожалуйста, используйте кнопки над полем редактирования, чтобы отформатировать это как код. Пожалуйста, обратите внимание на орфографию. – Sumurai8