Поиск…


Необычный url для php-скрипта

В этом примере мы переписываем URL-адрес формы http://example.com/topic/id-seoname скрипту php, который принимает идентификатор в качестве входного. В этом примере правило будет находиться в контексте «для каждого каталога» .

RewriteEngine on

RewriteRule ^topic/([0-9]+)-[^/]*/?$ /topics.php?id=$1 [L]

В этом примере topic/ является общим префиксом всех тем. За ним следует номер, который используется скриптом. Наконец, отображается имя seo. Это имя seo игнорируется mod_rewrite, потому что оно существует только для SEO-причин. Второй аргумент RewriteRule содержит URL для переписывания. Заполнитель $1 заменяется содержимым первой группы захвата в регулярном выражении перед ним. В этом случае он будет заменен на то, что соответствует ([0-9]+) .

Url с строкой запроса в php-скрипт

Чтобы соответствовать строке запроса, условие должно быть добавлено в RewriteRule . Это делается путем размещения директив RewriteCond перед соответствующим правилом. В следующем примере мы динамически внутренне переписываем старый URL-адрес на новый URL-адрес.

RewriteCond %{QUERY_STRING} ^name=([^&]*)$
RewriteRule ^oldscript\.php$ newscript.php?username=%1 [L]

Обратите внимание, что для соответствия буквальной точке мы должны избегать ее слэш. %1 заменяется первой группой захвата предыдущего условия. В этом случае он заменяется на все, что соответствует ([^&]*) .



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow