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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Замкнутое перенаправление .htaccess

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Slavenin
Отправлено: 27 Июля, 2012 - 07:50:45
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


Помог: 4 раз(а)




Всем доброго времени суток.
Есть простая, вроде бы, задача: если в адресе есть слово htdocs, то убрать это слово из адреса, если слова нет, то дополнить им адрес и отобразить страницу.

например, есть адрес site.ru/htdocs/catalog/
в этом случае нужно отобразить страницу htdocs/catalog/ как site.ru/catalog/
если же идет прямое обращение site.ru/catalog/
нужно просто отобразить страницу htdocs/catalog/ без изменения адресной строки

вторую задачу я решил, а вот с первой что-то никак не пойму...
Возникает то 500, то простой редирект на несуществующую страницу. Если же убрать у второго правила L , то возникает бесконечный редирект...
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. RewriteEngine on
  3.  
  4. RewriteCond %{REQUEST_URI} !^/htdocs.*
  5. RewriteRule ^(.*)$ /htdocs/$1 [QSA,L]
  6.  
  7. RewriteCond %{REQUEST_URI} ^/htdocs/(.*)
  8. RewriteRule ^(.*)$ /%1 [R=301,QSA, L]
  9.  
  10. ErrorDocument 404 /404.php
 
 Top
Toxa
Отправлено: 27 Июля, 2012 - 08:59:40
Post Id



Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008  


Помог: 8 раз(а)

[+]


почему в 8 строке у вас % ?
CODE (html):
скопировать код в буфер обмена
  1. RewriteRule ^(.*)$ /$1 [R=301,QSA, L]


-----
Удобный сервис для хранения файлов
 
 Top
Slavenin
Отправлено: 27 Июля, 2012 - 11:08:34
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


Помог: 4 раз(а)




это то, что вычисляется в выражении
CODE (htmlphp):
скопировать код в буфер обмена
  1.  RewriteCond %{REQUEST_URI} ^/htdocs/(.*)

эквивалент будет
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteRule ^/htdocs/(.*)$ /$1 [R=301,QSA, L]


разницы никакой

(Отредактировано автором: 27 Июля, 2012 - 11:09:12)

 
 Top
Slavenin
Отправлено: 30 Июля, 2012 - 21:38:54
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


Помог: 4 раз(а)




никто не знает?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Apache и другие веб-серверы »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB