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

Форум Apache

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

 

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

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

тема: Преобразование. Помогите
 
 автор: alph[p]a   (03.10.2011 в 16:25)   письмо автору
 
 

Вообщем не прокатывает последнее преобразование

# отдаем все документы в utf-8
AddType "text/html; charset=utf-8" .php
AddDefaultCharset utf-8

#php_value display_errors 0
#php_value display_startup_errors 0

php_value display_errors 1
php_value display_startup_errors 1

# url преобразования
RewriteEngine On  
RewriteCond %{HTTP_USER_AGENT} Shockwave
RewriteCond %{HTTP_USER_AGENT} Flash 
#RewriteRule /tpl/fancyupload/server/script.php [L]
RewriteRule /application/cert/_helper/upload.helper.php [L]
RewriteCond %{QUERY_STRING} ^qac=(.*) 
RewriteRule (.*) index.php?q=$1&qac=%1 [L] 
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule (.*) index.php?q=$1 [L]
RewriteRule ^users/checknews/(.*)$ status.php?login=$1 [L]


если оставить

RewriteEngine On  
RewriteRule ^users/checknews/(.*)$ status.php?login=$1 [L]


то все срабатывает, что не так?

  Ответить  
 
 автор: Alph[p]a   (04.10.2011 в 10:34)   письмо автору
 
   для: alph[p]a   (03.10.2011 в 16:25)
 

Вопрос остался

  Ответить  
 
 автор: cheops   (04.10.2011 в 10:36)   письмо автору
 
   для: alph[p]a   (03.10.2011 в 16:25)
 

Ситуация воспроизводится локально? Есть возможность включить журналирование mod_rewrite?

  Ответить  
 
 автор: Alph[p]a   (04.10.2011 в 11:07)   письмо автору
 
   для: cheops   (04.10.2011 в 10:36)
 

Локально, вот лог mod_rewrite

192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b71d0/initial] (3) [perdir C:/_TEST_/www/] add path info postfix: C:/_TEST_/www/users -> C:/_TEST_/www/users/checknews/sergei_sdasd
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b71d0/initial] (3) [perdir C:/_TEST_/www/] strip per-dir prefix: C:/_TEST_/www/users/checknews/sergei_sdasd -> users/checknews/sergei_sdasd
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b71d0/initial] (3) [perdir C:/_TEST_/www/] applying pattern '/application/cert/_helper/upload.helper.php' to uri 'users/checknews/sergei_sdasd'
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b71d0/initial] (3) [perdir C:/_TEST_/www/] add path info postfix: C:/_TEST_/www/users -> C:/_TEST_/www/users/checknews/sergei_sdasd
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b71d0/initial] (3) [perdir C:/_TEST_/www/] strip per-dir prefix: C:/_TEST_/www/users/checknews/sergei_sdasd -> users/checknews/sergei_sdasd
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b71d0/initial] (3) [perdir C:/_TEST_/www/] applying pattern '(.*)' to uri 'users/checknews/sergei_sdasd'
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b71d0/initial] (4) [perdir C:/_TEST_/www/] RewriteCond: input='' pattern='^qac=(.*)' => not-matched
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b71d0/initial] (3) [perdir C:/_TEST_/www/] add path info postfix: C:/_TEST_/www/users -> C:/_TEST_/www/users/checknews/sergei_sdasd
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b71d0/initial] (3) [perdir C:/_TEST_/www/] strip per-dir prefix: C:/_TEST_/www/users/checknews/sergei_sdasd -> users/checknews/sergei_sdasd
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b71d0/initial] (3) [perdir C:/_TEST_/www/] applying pattern '(.*)' to uri 'users/checknews/sergei_sdasd'
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b71d0/initial] (4) [perdir C:/_TEST_/www/] RewriteCond: input='C:/_TEST_/www/users' pattern='!-f' => matched
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b71d0/initial] (4) [perdir C:/_TEST_/www/] RewriteCond: input='C:/_TEST_/www/users' pattern='!-d' => matched
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b71d0/initial] (2) [perdir C:/_TEST_/www/] rewrite 'users/checknews/sergei_sdasd' -> 'index.php?q=users/checknews/sergei_sdasd'
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b71d0/initial] (3) split uri=index.php?q=users/checknews/sergei_sdasd -> uri=index.php, args=q=users/checknews/sergei_sdasd
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b71d0/initial] (3) [perdir C:/_TEST_/www/] add per-dir prefix: index.php -> C:/_TEST_/www/index.php
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b71d0/initial] (2) [perdir C:/_TEST_/www/] strip document_root prefix: C:/_TEST_/www/index.php -> /index.php
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b71d0/initial] (1) [perdir C:/_TEST_/www/] internal redirect with /index.php [INTERNAL REDIRECT]
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b6de0/initial/redir#1] (3) [perdir C:/_TEST_/www/] strip per-dir prefix: C:/_TEST_/www/index.php -> index.php
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b6de0/initial/redir#1] (3) [perdir C:/_TEST_/www/] applying pattern '/application/cert/_helper/upload.helper.php' to uri 'index.php'
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b6de0/initial/redir#1] (3) [perdir C:/_TEST_/www/] strip per-dir prefix: C:/_TEST_/www/index.php -> index.php
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b6de0/initial/redir#1] (3) [perdir C:/_TEST_/www/] applying pattern '(.*)' to uri 'index.php'
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b6de0/initial/redir#1] (4) [perdir C:/_TEST_/www/] RewriteCond: input='q=users/checknews/sergei_sdasd' pattern='^qac=(.*)' => not-matched
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b6de0/initial/redir#1] (3) [perdir C:/_TEST_/www/] strip per-dir prefix: C:/_TEST_/www/index.php -> index.php
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b6de0/initial/redir#1] (3) [perdir C:/_TEST_/www/] applying pattern '(.*)' to uri 'index.php'
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b6de0/initial/redir#1] (4) [perdir C:/_TEST_/www/] RewriteCond: input='C:/_TEST_/www/index.php' pattern='!-f' => not-matched
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b6de0/initial/redir#1] (3) [perdir C:/_TEST_/www/] strip per-dir prefix: C:/_TEST_/www/index.php -> index.php
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b6de0/initial/redir#1] (3) [perdir C:/_TEST_/www/] applying pattern '^users/checknews/(.*)$' to uri 'index.php'
192.168.0.X - - [04/окт/2011:11:05:24 +0400] [192.168.0.X/sid#16b80b0][rid#38b6de0/initial/redir#1] (1) [perdir C:/_TEST_/www/] pass through C:/_TEST_/www/index.php



причем я очистил, файл, запустил один раз скрипт и вот целая куча)

  Ответить  
 
 автор: cheops   (04.10.2011 в 11:12)   письмо автору
 
   для: Alph[p]a   (04.10.2011 в 11:07)
 

Попробуйте добавить директиву RewriteBase /, ситуация не меняется?
RewriteBase /

  Ответить  
 
 автор: Alph[p]a   (04.10.2011 в 11:17)   письмо автору
 
   для: cheops   (04.10.2011 в 11:12)
 

Сделал так :


# url преобразования
RewriteEngine On
RewriteBase /  
RewriteCond %{HTTP_USER_AGENT} Shockwave
RewriteCond %{HTTP_USER_AGENT} Flash
..... 


результата 0

  Ответить  
 
 автор: cheops   (04.10.2011 в 11:19)   письмо автору
 
   для: alph[p]a   (03.10.2011 в 16:25)
 

Правильно ли я понимаю, что первый index.php лежит в корне сайта, а второй в /users/checknews/ ?

  Ответить  
 
 автор: Alph[p]a   (04.10.2011 в 11:25)   письмо автору
 
   для: cheops   (04.10.2011 в 11:19)
 

первый да - index.php - собирает на себя все.

мне нужно сделать так чтобы все запросы вида /users/checknews/_%USER%_ - перехватывались скриптом status.php ? как вот(

  Ответить  
 
 автор: cheops   (04.10.2011 в 11:44)   письмо автору
 
   для: Alph[p]a   (04.10.2011 в 11:25)
 

Попробуйте вот это правило, поставить самым первым, до всех (.*)
RewriteRule ^users/checknews/(.*)$ status.php?login=$1 [L]

  Ответить  
 
 автор: Alph[p]a   (04.10.2011 в 11:55)   письмо автору
 
   для: cheops   (04.10.2011 в 11:44)
 

так работает, но не понимаю почему не работает когда снизу дописано?

  Ответить  
 
 автор: cheops   (04.10.2011 в 14:33)   письмо автору
 
   для: Alph[p]a   (04.10.2011 в 11:55)
 

(.*) - cлишком общее регулярное выражение, вот этот блок перехватывал все обращения
RewriteCond %{REQUEST_FILENAME} !-f   
RewriteCond %{REQUEST_FILENAME} !-d   
RewriteRule (.*) index.php?q=$1 [L]
Самые общие правила лучше располагать последними.

  Ответить  
 
 автор: Alph[p]a   (04.10.2011 в 14:45)   письмо автору
 
   для: cheops   (04.10.2011 в 14:33)
 

Спасибо

  Ответить  
 
 автор: Alph[p]a   (06.10.2011 в 16:42)   письмо автору
 
   для: Alph[p]a   (04.10.2011 в 14:45)
 

Опять проблема, на локалхосте все работает, на продакшене нет.. вот htaccess

RewriteEngine On   
RewriteRule ^users/checknews/(.*)$ status.php?login=$1 [L]
RewriteCond %{HTTP_USER_AGENT} Shockwave 
RewriteCond %{HTTP_USER_AGENT} Flash  
RewriteRule /application/cert/_helper/upload.helper.php [L] 
RewriteCond %{QUERY_STRING} ^qac=(.*)  
RewriteRule (.*) index.php?q=$1&qac=%1 [L]  
RewriteCond %{REQUEST_FILENAME} !-f   
RewriteCond %{REQUEST_FILENAME} !-d   
RewriteRule (.*) index.php?q=$1 [L] 
 


по запросу users/checknews/ANY - данные на status.php не идут(

  Ответить  
 
 автор: cheops   (06.10.2011 в 17:13)   письмо автору
 
   для: Alph[p]a   (06.10.2011 в 16:42)
 

А версии серверов совпадают, если нет, то насколько?

  Ответить  
 
 автор: Alph[p]a   (07.10.2011 в 09:09)   письмо автору
 
   для: cheops   (06.10.2011 в 17:13)
 

Где не работает вот:

Server version: Apache/2.2.3
Server built:   Jul 12 2010 03:42:56


и где все работает


Server version: Apache/2.2.3
Server built:   Apr  6 2011 12:31:57


разницы нет, что еще может быть?

  Ответить  
 
 автор: Alph[p]a   (07.10.2011 в 09:32)   письмо автору
 
   для: Alph[p]a   (07.10.2011 в 09:09)
 

если комментирую

RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule (.*) index.php?q=$1 [L]


получаю , вообще ничего не понимаю..


Not Found

The requested URL /users/checknews/sergei was not found on this server.


вот кусок лога апача

Filedoes not exist /var/www/html/status ?
почему он долбиться в директорию?

вот лог mod_rewrite (кусочек)


192.168.0.3 - - [07/Oct/2011:09:44:19 +0400] [192.168.0.1/sid#8378170][rid#8556f00/initial] (3) [perdir /var/www/html/] add path info postfix: /var/www/html/users -> /var/www/html/users/checknews/sergei
192.168.0.3 - - [07/Oct/2011:09:44:19 +0400] [192.168.0.1/sid#8378170][rid#8556f00/initial] (3) [perdir /var/www/html/] strip per-dir prefix: /var/www/html/users/checknews/sergei -> users/checknews/sergei
192.168.0.3 - - [07/Oct/2011:09:44:19 +0400] [192.168.0.1/sid#8378170][rid#8556f00/initial] (3) [perdir /var/www/html/] applying pattern '^users/checknews/(.*)&' to uri 'users/checknews/sergei'
192.168.0.3 - - [07/Oct/2011:09:44:19 +0400] [192.168.0.1/sid#8378170][rid#8556f00/initial] (3) [perdir /var/www/html/] add path info postfix: /var/www/html/users -> /var/www/html/users/checknews/sergei
192.168.0.3 - - [07/Oct/2011:09:44:19 +0400] [192.168.0.1/sid#8378170][rid#8556f00/initial] (3) [perdir /var/www/html/] strip per-dir prefix: /var/www/html/users/checknews/sergei -> users/checknews/sergei
192.168.0.3 - - [07/Oct/2011:09:44:19 +0400] [192.168.0.1/sid#8378170][rid#8556f00/initial] (3) [perdir /var/www/html/] applying pattern '/application/cert/_helper/upload.helper.php' to uri 'users/checknews/sergei'
192.168.0.3 - - [07/Oct/2011:09:44:19 +0400] [192.168.0.1/sid#8378170][rid#8556f00/initial] (3) [perdir /var/www/html/] add path info postfix: /var/www/html/users -> /var/www/html/users/checknews/sergei
192.168.0.3 - - [07/Oct/2011:09:44:19 +0400] [192.168.0.1/sid#8378170][rid#8556f00/initial] (3) [perdir /var/www/html/] strip per-dir prefix: /var/www/html/users/checknews/sergei -> users/checknews/sergei
192.168.0.3 - - [07/Oct/2011:09:44:19 +0400] [192.168.0.1/sid#8378170][rid#8556f00/initial] (3) [perdir /var/www/html/] applying pattern '(.*)' to uri 'users/checknews/sergei'
192.168.0.3 - - [07/Oct/2011:09:44:19 +0400] [192.168.0.1/sid#8378170][rid#8556f00/initial] (4) [perdir /var/www/html/] RewriteCond: input='' pattern='^qac=(.*)' => not-matched
192.168.0.3 - - [07/Oct/2011:09:44:19 +0400] [192.168.0.1/sid#8378170][rid#8556f00/initial] (3) [perdir /var/www/html/] add path info postfix: /var/www/html/users -> /var/www/html/users/checknews/sergei
192.168.0.3 - - [07/Oct/2011:09:44:19 +0400] [192.168.0.1/sid#8378170][rid#8556f00/initial] (3) [perdir /var/www/html/] strip per-dir prefix: /var/www/html/users/checknews/sergei -> users/checknews/sergei
192.168.0.3 - - [07/Oct/2011:09:44:19 +0400] [192.168.0.1/sid#8378170][rid#8556f00/initial] (3) [perdir /var/www/html/] applying pattern '(.*)' to uri 'users/checknews/sergei'
192.168.0.3 - - [07/Oct/2011:09:44:19 +0400] [192.168.0.1/sid#8378170][rid#8556f00/initial] (4) [perdir /var/www/html/] RewriteCond: input='/var/www/html/users' pattern='!-f' => matched
192.168.0.3 - - [07/Oct/2011:09:44:19 +0400] [192.168.0.1/sid#8378170][rid#8556f00/initial] (4) [perdir /var/www/html/] RewriteCond: input='/var/www/html/users' pattern='!-d' => matched
192.168.0.3 - - [07/Oct/2011:09:44:19 +0400] [192.168.0.1/sid#8378170][rid#8556f00/initial] (2) [perdir /var/www/html/] rewrite 'users/checknews/sergei' -> 'index.php?q=users/checknews/sergei'
192.168.0.3 - - [07/Oct/2011:09:44:19 +0400] [192.168.0.1/sid#8378170][rid#8556f00/initial] (3) split uri=index.php?q=users/checknews/sergei -> uri=index.php, args=q=users/checknews/sergei


я правильно понимаю что index.php?q=users/checknews/sergei - кидает сюда? почему игнориться файл status.php ?

по идее должно все работать если -

RewriteEngine On
RewriteBase /      
RewriteRule ^users/checknews/(.*)$ status.php?login=$1 [L]

только будет... но нифига( пишет Not Found

  Ответить  
 
 автор: Alph[p]a   (07.10.2011 в 13:44)   письмо автору
 
   для: Alph[p]a   (07.10.2011 в 09:32)
 

все еще требуется помощь

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

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