E
EwGenij
Есть следующая задача и 3 ее толкования,
чтобы было точно ясно, что нужно сделать.
1- Все запросы к сайту идут к файлу index.php
для этого в .htaccess делаем строку
RewriteRule (.*) index.php?$2 [L] - (1)
затем нам нужно сделать папку со стилями,
картинками и прочей штукой, которая нужна
для оформления страницы.
Делаем все в папке templates, как и положено.
Разумеется запрос типа /templates/style.css
у нас не пройдет ввиду первой строки в .htaccess
поэтому решено делать так, все стили идут
по "ключевому каталогу" design, то есть
запрос типа /design/style.css
должен отобразить файл /templates/style.css
разумеется, папки design на сервере нет.
делаем такие строки перед первой строкой в htaccess
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/design/(.*)$
RewriteRule ^(design)(.*) /templates/$2 [L,S]
то есть по идее все красиво оформляется
запрос шлется куда надо, но храна блин
если есть строка, которая фильтрует
все остальные запросы после этойго,
то файл стилей (в данном случае) не получается.
Выходит, что L,S не работают нифига, если
добавить (1) после этих условий и преобразования.
Или сами условия вдруг перестают работать.
2- почему конструкция
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/design/(.*)$
RewriteRule ^(design)(.*) /templates/$2 [L,S]
выдает файл /templates/123/style.css
по запросу /design/123/style.css
а вот конструкция
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/design/(.*)$
RewriteRule ^(design)(.*) /templates/$2 [L,S]
RewriteRule (.*) index.php?$2
нет и как это исправить?
3- Как сделать, чтобы при запросе /design/dir1/dir2/file.ext
отображался файл /templates/dir1/dir2/file.ext, а все остальные
запросы отсылались файлу myscript.php
Буду очень благодарен, если получу точный ответ,
а не вопросы и предложения типа "А зачем тебе так? может лучше так? сделай-ка вот так, как я!"
нет разницы, каким способом решить эту задачу,
но нешить нужно именно ее.
Большое спасибо!
чтобы было точно ясно, что нужно сделать.
1- Все запросы к сайту идут к файлу index.php
для этого в .htaccess делаем строку
RewriteRule (.*) index.php?$2 [L] - (1)
затем нам нужно сделать папку со стилями,
картинками и прочей штукой, которая нужна
для оформления страницы.
Делаем все в папке templates, как и положено.
Разумеется запрос типа /templates/style.css
у нас не пройдет ввиду первой строки в .htaccess
поэтому решено делать так, все стили идут
по "ключевому каталогу" design, то есть
запрос типа /design/style.css
должен отобразить файл /templates/style.css
разумеется, папки design на сервере нет.
делаем такие строки перед первой строкой в htaccess
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/design/(.*)$
RewriteRule ^(design)(.*) /templates/$2 [L,S]
то есть по идее все красиво оформляется
запрос шлется куда надо, но храна блин
если есть строка, которая фильтрует
все остальные запросы после этойго,
то файл стилей (в данном случае) не получается.
Выходит, что L,S не работают нифига, если
добавить (1) после этих условий и преобразования.
Или сами условия вдруг перестают работать.
2- почему конструкция
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/design/(.*)$
RewriteRule ^(design)(.*) /templates/$2 [L,S]
выдает файл /templates/123/style.css
по запросу /design/123/style.css
а вот конструкция
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/design/(.*)$
RewriteRule ^(design)(.*) /templates/$2 [L,S]
RewriteRule (.*) index.php?$2
нет и как это исправить?
3- Как сделать, чтобы при запросе /design/dir1/dir2/file.ext
отображался файл /templates/dir1/dir2/file.ext, а все остальные
запросы отсылались файлу myscript.php
Буду очень благодарен, если получу точный ответ,
а не вопросы и предложения типа "А зачем тебе так? может лучше так? сделай-ка вот так, как я!"
нет разницы, каким способом решить эту задачу,
но нешить нужно именно ее.
Большое спасибо!