Я просмотрел множество ответов здесь и в другом месте, но не нашел точно, что мне нужно. Я работаю с старым сайтом Joomla 1.5, а не с помощью SEF по конкретному запросу владельцев. Но я хочу, чтобы все не-www-запросы были переписаны на www, кроме определенных страниц формы/оплаты..htaccess Переписать не-www на www, кроме определенных динамических страниц
Example:
http://domain.com/index.php?option=com_content&view=article&id=43&Itemid=11
becomes
http://www.domain.com/index.php?option=com_content&view=article&id=43&Itemid=11
except a payment page
http://domain.com/index.php?option=com_rsform&formId=3
or
http://www.domain.com/index.php?option=com_rsform&formId=3
becomes
https://domain.com/index.php?option=com_rsform&formId=3
Я использую этот код:
RewriteEngine On
########## Begin - Redirect non-https non-www to www
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=302,L]
########## End - Redirect non-www to www
Это получает меня там до тех пор, как они торчат с моей ссылкой на страницу оплаты, но я хотел бы, чтобы одурачить доказательство его. И лучше понять, как это сделать. Я устал, может быть, сотню разных правил. Я пытаюсь изучить проблемы с регулярным выражением, но не могу получить его для моего клиента.
Я могу сделать с ним работу в любой форме, поэтому «option = com_rsform» всегда будет в URL-адресе. Я не знаю, обрабатывается ли это как строка или переменная при создании условия. Во всяком случае, я бы очень признателен за предлагаемое решение.
Спасибо за удивительный быстрый ответ! В этом случае я должен добавить каждую форму в оба раздела? – integris
Да, оба правила должны будут проверить наличие и отсутствие этой строки запроса. Также убедитесь, что эти правила являются первыми правилами. Теперь выходите в автономный режим. – anubhava
ОК, но это не работает для последнего случая в моем вопросе: https://www.domain.com/index.php?option=com_rsform&formId=3 должно стать https://domain.com/. – integris