Нужно написать ЧПУ через mod_rewrite. Ибо у меня не получается. Есть site.ru/?id=(здесь числа) и site.ru/?do= здесь например registr, statistic нужно сделать так что бы query string не было видно, а только в первом случае цифры, а во втором значения. Помогите пожалуйста.
- 03.04.2012 18:57
Время не любит, когда его тратят впустую. - 03.04.2012 19:23
- Регистрация: 19.12.2009
- Сообщений: 145
- Репутация: 32
Код:не проверял что не зацепит ли второе правило и только цифры, посему перестраховался бы и сделал бы второе правило где-то так:RewriteCond %{REQUEST_FILENAME} !-f RewriteEngine On RewriteRule ^([0-9]+)/?$ /index.php?id=$1 [QSA,L] RewriteRule ^([-_A-Za-z0-9]+)/?$ /index.php?do=$1 [QSA,L]
Код:RewriteRule ^do/([-_A-Za-z0-9]+)/?$ /index.php?do=$1 [QSA,L]
- 03.04.2012 23:09
ctapbiu, что-то не работает. У меня стоит редирект с www и index.php на site.ru/ по этому я обрезал так
Код:иRewriteCond %{REQUEST_FILENAME} !-f RewriteEngine On RewriteRule ^([0-9]+)/?$ /?id=$1 [QSA,L] RewriteRule ^([-_A-Za-z0-9]+)/?$ /?do=$1 [QSA,L]
Код:Не работает вообще. Может это из за редиректов?RewriteRule ^do/([-_A-Za-z0-9]+)/?$ /?do=$1 [QSA,L]
Вообще вот мой сейчас .htaccessКод:Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^www.site.ru RewriteRule (.*) http://site.ru/$1 [R=301,L] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://site.ru/ [R=301,L] ErrorDocument 404 http://site.ru/404.php RewriteCond %{REQUEST_FILENAME} !-f RewriteEngine On RewriteRule ^([0-9]+)/?$ /?id=$1 [QSA,L] RewriteRule ^([-_A-Za-z0-9]+)/?$ /?do=$1 [QSA,L] RewriteRule ^do/([-_A-Za-z0-9]+)/?$ /?do=$1 [QSA,L]
Последний раз редактировалось Jeremen; 03.04.2012 в 23:20.
Время не любит, когда его тратят впустую. - 03.04.2012 23:22
- Регистрация: 19.12.2009
- Сообщений: 145
- Репутация: 32
проверил
работает и с индекс.пхп и без (но для папки стоит DirectoryIndex index.php)
возможно какие-то другие правила режут
попробуйте закомментировать
ну и попробуйте вариант с index.phpСпасибо сказали:
Jeremen(03.04.2012), - 03.04.2012 23:25
ctapbiu, пробовал вариант с index.php
Не работает...
У меня тоже стоит DirectoryIndex index.phpПоследний раз редактировалось Jeremen; 03.04.2012 в 23:30.
Время не любит, когда его тратят впустую. - 03.04.2012 23:45
- Регистрация: 19.12.2009
- Сообщений: 145
- Репутация: 32
очень странно
работает прекрасно
попробуйте что-то типа:
Код:и сам testfile.phpRewriteRule ^([0-9]+)/?$ /testfile.php?id=$1 [QSA,L] RewriteRule ^([-_A-Za-z0-9]+)/?$ /testfile.php?do=$1 [QSA,L] RewriteRule ^do/([-_A-Za-z0-9]+)/?$ /testfile.php?do=$1 [QSA,L]
Код:если выводит нормально переменные, значит нужно искать в чем может быть делоecho '<pre>'; print_r($_GET); echo '</pre>';
ЗЫ: а как не работает? просто не выполняется нужный код или? - 03.04.2012 23:49
ctapbiu, да. Ничего не происходит, все работает как и работало раньше! Выводит нормальные переменные. А и еще когда ваш код добавил не работает редирект 404.
Последний раз редактировалось Jeremen; 03.04.2012 в 23:59.
Время не любит, когда его тратят впустую. - 04.04.2012 00:06
- Регистрация: 19.12.2009
- Сообщений: 145
- Репутация: 32
если _GET переменные такие, какие и должны быть - проверьте тоже самое в индекс.пхп (тот код вставьте в начало индекс.пхп и, если нужно, в хтмл комментарии спрячте)
будут выводиться переменные - значит htaccess верный
не будут - ищите что еще может повлиять (закомментируйте все строчки и по одной раскомментируйте)
в общем, сужайте область поиска - 04.04.2012 00:15
ctapbiu, хм. Переменные выводятся нормально.
Время не любит, когда его тратят впустую. - 04.04.2012 00:17
- Регистрация: 19.12.2009
- Сообщений: 145
- Репутация: 32
значит правила нормальные
что-то в скрипте
проверяйте
Тэги топика:
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
Human Emulator Помогите написать скрипт | Софт, скрипты, сервисы | 0 | 09.03.2012 03:40 |
написать несколько простых модулей. DLE 9.4 (PHP) | Web программирование | 0 | 17.10.2011 17:07 |
Нужно написать статью | Ссылки, статьи | 0 | 18.07.2011 21:26 |
Как написать убойный заголовок | Дайджест блогосферы | 0 | 10.10.2010 06:05 |
Как написать интересную статью для блога | Дайджест блогосферы | 0 | 27.04.2010 12:24 |