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]   

> Описание: Некорректное отображение страницы
condpattern
Отправлено: 14 Июля, 2013 - 19:54:27
Post Id


Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Июль 2013  


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




Привет.
Делаю сайт на локальном сервере/ denwer.
Меняю адрес sitename.com/name.php?id=xxx на sitename.com/name/xxx
PHP:
скопировать код в буфер обмена
  1. RewriteRule ^name/([^/]*)$ /name.php?name=$1 [L]

Пользуюсь генератором generateit[dot]net/mod-rewrite/
Происходит нечто странное:
Он находит файл name.php, даже передает верно переменную, но при этом сервер думает, что я не в корневой папке, а в папке name и поэтому все ссылки, аля
js/jquery.js
css/style.css
он увы не находит и открывается нечто: наполовину страница, наполовину нет.
Я так понимаю это связано с настройками php сервера? Как это поправить?
Спасибо.
 
 Top
DeepVarvar Супермодератор
Отправлено: 14 Июля, 2013 - 20:34:33
Post Id



Активный участник


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


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




Причем тут пхп?
Это браузер.
Пиши в шаблонах полные пути от корня:

/js/jquery.js
/css/style.css

и будет тебе счастье.
 
 Top
condpattern
Отправлено: 14 Июля, 2013 - 20:39:05
Post Id


Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Июль 2013  


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




[quote=DeepVarvar][/quote]
Благодарю!
(Добавление)
DeepVarvar пишет:
Причем тут пхп?
Это браузер.
Пиши в шаблонах полные пути от корня:

/js/jquery.js
/css/style.css

и будет тебе счастье.


А не подскажете, как сделать параллельную работу 2 правил:
PHP:
скопировать код в буфер обмена
  1. # Удаляем расширения файлов из URL
  2. # Заменить html вашими собственными расширениями. К примеру: php, htm, asp
  3. RewriteEngine on
  4. RewriteCond %{REQUEST_FILENAME} !-d
  5. RewriteCond %{REQUEST_FILENAME}\.php -f
  6. RewriteRule ^(.*)$ $1.php


PHP:
скопировать код в буфер обмена
  1. # mod_rewrite
  2. RewriteRule ^name/([^/]*)$ /name.php?id=$1 [L]


1. В первом случае меняю вместо:
name.com/page.php
ставлю
name.com/page
2. Во втором вместо:
name.com/name.php?id=xxx
ставлю
name.com/name/xxx

Однако при включенном первом, второе не работает.
По видимому, он заменяет
name.com/name/xxx
на
name.com/name/xxx.php
вместо
name.com/name.php?id=xxx
Спасибо.

(Отредактировано автором: 14 Июля, 2013 - 21:58:45)

 
 Top
DeepVarvar Супермодератор
Отправлено: 14 Июля, 2013 - 22:28:53
Post Id



Активный участник


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


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




 
 Top
condpattern
Отправлено: 14 Июля, 2013 - 23:02:29
Post Id


Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Июль 2013  


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




[quote=DeepVarvar][/quote]
Мерси.
 
 Top
soleg
Отправлено: 15 Июля, 2013 - 02:27:59
Post Id


Гость


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


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




CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteEngine On
  2.  
  3. #указываем директории которые будут игнорироваться реврайтом.
  4. RewriteCond %{REQUEST_URI} !^(/images/|/css/|/javascript/)$
  5.  
  6. #Обрабатываем ссылки вида sitename.com/ScriptName/IdValue/
  7. # При запросе sitename.com/name/666 получается запрос sitename.com/name.php?id=666
  8. RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$  /$1.php?id=$2 [QSA,L]
  9. RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$  /$1.php?id=$2 [QSA,L]
  10.  
  11. #Обрабатываем ссылки вида sitename.com/ScriptName/
  12. # При запросе sitename.com/name/ получается запрос sitename.com/name.php
  13. RewriteRule ^([a-zA-Z0-9_-]+)/$  /$1.php [QSA,L]
  14. RewriteRule ^([a-zA-Z0-9_-]+)$  /$1.php [QSA,L]
  15.  
  16.  
  17.  


[QSA,L] - позволяет данному условию принимать GET параметры. Т.е. можно использовать такого вида линки

CODE (html):
скопировать код в буфер обмена
  1. sitename.com/ScriptName/IdValue/?param1=value
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB