Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Настрока редиректов Apache
Форумы портала PHP.SU » Серверное администрирование » Apache и другие веб-серверы » Настрока редиректов Apache

Страниц (1): [1]
 

1. vlom - 02 Февраля, 2016 - 10:55:48 - перейти к сообщению
Ни как не могу понять в чем проблема
Есть такой конфиг
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. DirectoryIndex  index.htm index.php
  3. AddDefaultCharset UTF-8
  4.  
  5. ErrorDocument 404 /views/404.php
  6.  
  7. RewriteEngine On
  8.  
  9. #есть редиректы с html
  10. Redirect 301 /assortiment.html /assortiment/
  11. #а есть без
  12. Redirect 301 /info/istoriya/istoriya-tes-my /istoriya-tesmi/
  13.  
  14. Есть еще такое правило
  15.  
  16. RewriteCond %{REQUEST_FILENAME} !-f
  17. RewriteCond %{REQUEST_FILENAME} !-d
  18. RewriteCond %{REQUEST_URI} !index.php [OR]
  19. RewriteCond %{REQUEST_URI} !^/[info|assortiment]/.+
  20. RewriteRule   ^(.*)$  /index.php?module=$1 [QSA]
  21.  


Редирект без html на конце работает корректно с html отправляет на /assortiment/?module=assortiment.html

пробовал разные варианты RewritCond
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. RewriteCond %{REQUEST_FILENAME} !-f
  3. RewriteCond %{REQUEST_FILENAME} !-d
  4. RewriteCond %{REQUEST_URI} !index.php [OR]
  5. RewriteCond %{REQUEST_URI} !^/[info|assortiment]/.+ [OR]
  6. RewriteCond %{REQUEST_URI} !^/[info|assortiment]/.+\.html
  7. RewriteRule   ^(.*)$  /index.php?module=$1 [QSA]
  8.  

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. RewriteCond %{REQUEST_FILENAME} !-f
  3. RewriteCond %{REQUEST_FILENAME} !-d
  4. RewriteCond %{REQUEST_URI} !index.php [OR]
  5. RewriteCond %{REQUEST_URI} !^/info/.+ [OR]
  6. RewriteCond %{REQUEST_URI} !^/info/.+\.html [OR]
  7. RewriteCond %{REQUEST_URI} !^/assortiment/.+ [OR]
  8. RewriteCond %{REQUEST_URI} !^/assortiment/.+\.html
  9. RewriteRule   ^(.*)$  /index.php?module=$1 [QSA]
  10.  
2. vlom - 02 Февраля, 2016 - 13:08:49 - перейти к сообщению
Бред, но проблема оказалось в том что современные браузеры кешируют даже редиректы, верный вариант у меня был сделан изначально
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. RewriteCond %{REQUEST_FILENAME} !-f
  3. RewriteCond %{REQUEST_FILENAME} !-d
  4. RewriteCond %{REQUEST_URI} !index.php
  5. RewriteCond %{REQUEST_URI} !^/info/.+
  6. RewriteCond %{REQUEST_URI} !^/assortiment]/.+
  7. RewriteRule   ^(.*)$  /index.php?module=$1 [QSA]
  8.  

Но в силу того что все опало в кеш до того как я добавил условия для info и assortiement я подумал что сделал не правильно и начал искать другое решение)))
(Добавление)
Спасибо Дмитрий Иванович)))
Может кому пригодится

 

Powered by ExBB FM 1.0 RC1