apache mod_rewrite, простой вопрос - PullRequest
       7

apache mod_rewrite, простой вопрос

2 голосов
/ 01 сентября 2011

У меня есть домен, и я хочу переслать виртуальную папку для идентификации компании, например,

www.domain.com/CompanyA
www.domain.com/CompanyB

Папки CompanyA и CompanyB не существуют, и я хочу, чтобы они стали строкой запроса, например

www.domain.com/?CompanyA etc..

Как мне сделать это с mod_rewrite?

Большое спасибо,

Ответы [ 2 ]

3 голосов
/ 01 сентября 2011

Добавьте следующее RewriteRule:

RewriteRule ^/([A-Za-z]+)$ /?$1

Это будет захватывать любую последовательность из одной или нескольких строчных и прописных букв в первую группу совпадений (доступ к которой можно получить за 1 доллар). Затем вы можете использовать $ 1 во втором параметре правила перезаписи, чтобы обозначить соответствующую строку. Например, вы можете использовать:

RewriteRule ^/([A-Za-z]+)$ /render.php?page=$1

, если вы хотите использовать файл, отличный от вашего index.php (или эквивалентного), для обработки логики условного рендеринга.

1 голос
/ 01 сентября 2011
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule ^(.*)$ /index.php?query=$1 [L,QSA]

QSA позволяет сохранить строку входящего запроса без изменений.

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