Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Виртуальные директроии
 
 автор: yvgorshkov   (20.09.2011 в 15:33)   письмо автору
 
 

Здравствуйте!

Имеется .htaccess фай:

1 AddDefaultCharset windows-1251
2
3 deny from all
4 allow from 192.168.0.10
5
6
7 php_flag magic_quotes_gpc off
8 php_flag register_globals Off
9
10 Options -Indexes
11 AddType text/x-component .htc
12
13 php_value post_max_size 50M
14 php_value upload_max_filesize 50M
15
16 DirectoryIndex content.php?u=index.html
17 ErrorDocument 404 /content.php?error404
18
19 RewriteEngine On
20 RewriteBase /
21
22
23 RewriteEngine on
24
25 RewriteCond %{REQUEST_FILENAME} -f [OR]
26 RewriteCond %{REQUEST_FILENAME} -d
27 RewriteRule .+ - [L]
28 RewriteRule ^shop_([a-zA-Z0-9_-]+)$ shop.php?id=$1
29
30 RewriteCond %{REQUEST_URI} !^/_FCKeditor/
31 RewriteCond %{REQUEST_URI} !^/_smarty/
32 RewriteCond %{REQUEST_URI} !^/templates/
33 RewriteCond %{REQUEST_URI} !^/admin/
34 RewriteCond %{QUERY_STRING} (.*)?
35 RewriteRule ^(.+(htm|html))$ content.php?u=$1&%1 [L]

Никак не могу сделать виртуальные папки типа: shop/any, получается только shop_any как в строке 28

Вопрос (мольба)
Как этот файл модифицировать так, чтобы при
shop/any/id вызывалась страница shop.php?c=any&id=id
и
shop/any вызывалась страница shop.php?c=any

И в логи не падали записи типа

[Tue Sep 20 15:37:56 2011] [error] [client 192.168.0.10] Negotiation: discovered file(s) matching request: /home/test/www/shop (None could be negotiated).

  Ответить  
 
 автор: cheops   (20.09.2011 в 15:56)   письмо автору
 
   для: yvgorshkov   (20.09.2011 в 15:33)
 

А если так поступить, не происходит переадресация?
RewriteRule ^shop/any/([0-9_-]+)$ shop.php?c=any&id=$1

  Ответить  
 
 автор: yvgorshkov   (20.09.2011 в 22:12)   письмо автору
 
   для: cheops   (20.09.2011 в 15:56)
 

Нет.
В данном случае слово any говорит о любой комбинации латинских букв и цифр.

Если я пишу в начале правила RewriteRule ^shop/ и ставлю косую черту то правило не работает, если я вместо косой черты ставлю _ нижнее подчёркивание - правило работает и страница открывается.
В первом случае (с косой чертой) в логи апача падает сообщение, что типа папки нет.

  Ответить  
 
 автор: cheops   (21.09.2011 в 10:06)   письмо автору
 
   для: yvgorshkov   (20.09.2011 в 22:12)
 

А если так поступить?
RewriteRule ^shop/([a-zA-Z0-9_-]+)/([0-9_-]+)$ shop.php?c=$1&id=$2

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования