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]   

> Описание: IfModule mod_rewrite.c
skrudjmakdak
Отправлено: 16 Октября, 2011 - 11:38:38
Post Id


Новичок


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


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




извиняюсь если создал тему не там.. в файл .htaccess вбил такой текст:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([A-Za-z]+)$ index.php?p=$1 [L]
</IfModule>

содержимое index.php:
<?
echo "ок<br>".$_GET['p'];
?>

если в браузере забить site.ru/kakoitotext, то все отлично работает.. и индекс выдает: "ок<br>kakoitotext". а если я хочу передать параметр, например: site.ru/kakoitotext?param=1, то уже не работает.. не подходит по шаблону. а если и сделать, чтобы подходило по шаблону, то получится что то следующее(если я не ошибаюсь): index.php?p=kakoitotext?param=1... а это бред)) можете помочь чтобы site.ru/kakoitotext?param=1 работало???
 
 Top
DiosPA
Отправлено: 16 Октября, 2011 - 11:47:24
Post Id



Частый гость


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


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




RewriteRule ^([a-zA-Z0-9_]+)$ index.php?param=$1 [L]
(Добавление)
skrudjmakdak а зачем так делать?

RewriteRule ^[^/]+(\.+[^/]+)+$ - [L]
RewriteRule ^(images|css|js|templates)/ - [L]
RewriteRule ^(.*)$ /index.php?url=$1 [NS]
(Добавление)
можно сделать неплохой ЧПУ Улыбка
тоесть сайт.ру/main/12/file/ и так далее
потом в файле по обработке url делаешь разбивку по $url = explode('/', $_GET);
 
 Top
skrudjmakdak
Отправлено: 16 Октября, 2011 - 11:56:04
Post Id


Новичок


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


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




т.е. параметры передавать через дробь??
 
 Top
DiosPA
Отправлено: 16 Октября, 2011 - 12:44:53
Post Id



Частый гость


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


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




это как ты хочешь уже...
в этом примере можно как угодно RewriteRule ^([a-zA-Z0-9_]+)$ index.php?param=$1 [L]
тоесть .ru/page ($_GET['param'] будет равна page)
если дописать
.ru/page?a=1
то в $_GET будет и 'param' и 'a' (парам будет равно page а а будет равно 1)

PS. Надеюсь понятно пояснил
 
 Top
skrudjmakdak
Отправлено: 16 Октября, 2011 - 13:03:33
Post Id


Новичок


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


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




хм... видимо я тупой)) не работает)) вот смотрите:
в .htaccess я вбил то что вы сказали..
в index.php я сделал след код:

echo "url=".$_GET['url']."<br>id=".$_GET['id'];

адресная строка:

.ru/asf?id=534

браузер выдает:

url=asf
id=

что я не правильно делаю?? по идеи ид должен быть известен??
 
 Top
DiosPA
Отправлено: 16 Октября, 2011 - 15:37:48
Post Id



Частый гость


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


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




щас напишу всё )
(Добавление)
в index.php чтобы не писать (echo "url=".$_GET['url']."<br>id=".$_GET['id'];)


в .htaccess
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_]+)$ index.php?par_1=$1 [L]
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?par_1=$1&par_2=$2 [L]

Запрос
http://test[dot]ru/a/asd?b=1

Результат
Array ( [par_1] => a [par_2] => asd [b] => 1 )
 
 Top
skrudjmakdak
Отправлено: 16 Октября, 2011 - 17:08:08
Post Id


Новичок


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


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




а у меня при запросе:site.ru/a/asd?b=1
выдает: Array ( [par_1] => a [par_2] => asd )
 
 Top
DiosPA
Отправлено: 16 Октября, 2011 - 17:20:18
Post Id



Частый гость


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


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




попробуй
site.ru/a/asd&b=1
 
 Top
skrudjmakdak
Отправлено: 16 Октября, 2011 - 18:17:00
Post Id


Новичок


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


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




выдает:
Not Found

The requested URL /a/asd&b=1 was not found on this server

а не может из за разных настроек сервера??
 
 Top
DiosPA
Отправлено: 16 Октября, 2011 - 18:42:49
Post Id



Частый гость


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


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




>а не может из за разных настроек сервера??
конечно может быть но скорее всего нет .htaccess переопределяет настройки сервера

выложи весь синтаксис я проверю
 
 Top
skrudjmakdak
Отправлено: 16 Октября, 2011 - 18:55:08
Post Id


Новичок


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


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




RewriteEngine On
RewriteRule ^([a-zA-Z0-9_]+)$ index.php?par_1=$1 [L]
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?par_1=$1&par_2=$2 [L]

больше я ничего не добавлял
 
 Top
Champion Супермодератор
Отправлено: 16 Октября, 2011 - 19:56:38
Post Id



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


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


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




Не читал, если честно всё, что здесь написано, но если нужно, чтобы просто сохранялся гет запрос, то сделайте
RewriteRule ^([A-Za-z]+)$ index.php?p=$1 [L,QSA]
В скрипте var_dump($_GET)
Для site.ru/kakoitotext?param=1 такого адреса будет
p=kakoititext
param=1.
Чтобы "kakoititex?param=1" сунулось в "p" - так нельзя.
Если нужно, чтобы в p попадал не только текст, а что угодно, используйте правило ^(.*)$
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB