|
|
|
| Нужно поставить условие RewriteRule.
Нужно, чтобы если в адресной строке было , но кроме default12, то:
Как сделать это "кроме"? | |
|
|
|
|
|
|
|
для: maxam
(29.03.2011 в 15:27)
| | Может до этого правила просто поместить еще одно правило для default12 и остановить дальнейшее применение правил при помощи [L]? | |
|
|
|
|
|
|
|
для: cheops
(29.03.2011 в 15:30)
| | Можно, так и сделаю. | |
|
|
|
|
|
|
|
для: cheops
(29.03.2011 в 15:30)
| | А можете на будущее подсказать, как всё таки в реглярке исключение сделать? Я знаю, что нужно знак "^" ставить, но обычно перед "[]" ставится, а в "[]" обычно не слова, а массивы знаков ставятся (например, a-z0-9, а не default12). | |
|
|
|
|
|
|
|
для: Maxam
(29.03.2011 в 16:55)
| | Нужно позиционными проверками пользоваться, чем-то вроде (?!...), правда они проверяют наличие слова справа или слева... в общем, лучше отдельное правило ввести - ими не очень удобно пользоваться, да и помоему Apache их не шибко поддерживает. | |
|
|
|
|
|
|
|
для: cheops
(29.03.2011 в 17:17)
| | А если использовать не в htaccess, а просто в php? preg_match, например. | |
|
|
|
|
|
|
|
для: Maxam
(30.03.2011 в 02:24)
| | Хм... так а как адрес преобразовать без .htaccess? Если не будет правил, Apache просто не найдет того, что вы запрашиваете. Кроме того mod_rewrite преобразования осуществляются до того, как вступает в действие PHP, то есть вмешаться при помощи перенаправления невозможно.
[поправлено модератором: ветка про регулярные выражения в PHP перенесена в тему Исключить слово при помощи регулярного выражения] | |
|
|
|