С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 04/06/09 в 22:44 |
как сделать чтобы все страницы открывались со слэшем на конце?
тоесть пользователь набирает в строке браузера /page-130, надо чтобы автоматически открывалсь страница /page-130/ и при этом когда набирается /page-130/, никакого редиректа само на себя небыло??
|
|
|
|
Z
С нами с 15.05.05
Сообщения: 55053
Рейтинг: 7770
|
Добавлено: 04/06/09 в 23:02 |
ХМ могу ошибаться но помойму это можно сделать настройкой апача
|
|
|
|
Чингачгук, вождь красноглазых
С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824
|
Добавлено: 04/06/09 в 23:14 |
Код: |
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+[^/])$ $1/ [R]
|
P.S. разумеется, будет работать только с физическими директориями.
|
|
|
|
Genuine Quality
С нами с 28.08.05
Сообщения: 652
Рейтинг: 910
|
Добавлено: 04/06/09 в 23:30 |
Оффтопик: Dr.Syshalt: написал в аську тебе с вопросом, ответь плиз
|
|
|
|
Чингачгук, вождь красноглазых
С нами с 14.05.04
Сообщения: 4744
Рейтинг: 1824
|
Добавлено: 04/06/09 в 23:40 |
Оффтопик: Simplex писал: | Dr.Syshalt: написал в аську тебе с вопросом, ответь плиз |
что-то не вижу ничего, попробуй запрос на авторизацию сделать сначала
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 05/06/09 в 00:07 |
Dr.Syshalt писал: |
Код: |
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+[^/])$ $1/ [R]
|
P.S. разумеется, будет работать только с физическими директориями. |
чот неработает
вообще директории не физические, а по такому правилу
RewriteRule ^page([0-9]+)/$ /index.php?p=$1 [L,NC]
|
|
|
|
« ... full on ... »
С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686
|
Добавлено: 05/06/09 в 09:04 |
ibiz:
Тогда перед своим правилом пропиши вот в таком виде 1 строку из вышеуказанного правила:
Код: | RewriteRule ^(.+[^/])$ $1/ [R,L] |
|
|
Power of the lime madness...
|
8
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 05/06/09 в 09:11 |
Corex писал: | ibiz:
Тогда перед своим правилом пропиши вот в таком виде 1 строку из вышеуказанного правила:
Код: | RewriteRule ^(.+[^/])$ $1/ [R,L] | |
все равно неработает... лезть в апач нет возможности, шаред хост
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 05/06/09 в 09:23 |
|
|
|
|
« ... full on ... »
С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686
|
Добавлено: 05/06/09 в 10:47 |
ibiz:
Выложи тогда весь .htaccess или хотя бы ту часть, где все правила для mod_rewrite, а то так не угадаешь, но само правило для закрывающего слэша корректное и рабочее.
|
|
Power of the lime madness...
|
8
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 05/06/09 в 11:21 |
вот все правило
Код: | <IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.+[^/])$ $1/ [R,L]
RewriteRule ^page([0-9]+)/$ /index.php?p=$1 [L,NC]
</IfModule>
|
|
|
|
|
« ... full on ... »
С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686
|
Добавлено: 05/06/09 в 11:41 |
Вот так попробуй:
Код: | <IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .+ - [L]
RewriteRule ^(.+[^/])$ $1/ [R,L]
RewriteRule ^page([0-9]+)/$ /index.php?p=$1 [QSA,L,NC]
</IfModule> |
|
|
Power of the lime madness...
|
8
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 05/06/09 в 11:53 |
Corex писал: | Вот так попробуй:
Код: | <IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .+ - [L]
RewriteRule ^(.+[^/])$ $1/ [R,L]
RewriteRule ^page([0-9]+)/$ /index.php?p=$1 [QSA,L,NC]
</IfModule> | |
редиректит вот сюда
"http://localhost/6448" => "http://localhost/Z:/home/localhost/site/6448/"
прямо жопа какая-то
|
|
|
|
« ... full on ... »
С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686
|
Добавлено: 05/06/09 в 12:14 |
.htaccess и файл index.php лежат в корневой директории, в www? Или это типа субдомена site.localhost (судя по localhost/site/6448/)? index.php точно существует? Если index.php нет, то такое может быть.
Ну и правило в .htaccess рассчитано на запрос вида localhost/page6448/.
Это же всё в денвере, судя по всему. Создай отдельный виртуальный домен, туда положи .htaccess и index.php (или файл, который в правиле прописан вместо index.php) и всё будет работать.
|
|
Power of the lime madness...
|
8
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 05/06/09 в 12:24 |
попробовал на отдельном домене на шаред хостинге
в дире два файла, ничего лишнего
.htaccess
Код: |
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule .+ - [L]
RewriteRule ^(.+[^/])$ $1/ [R,L]
RewriteRule ^page([0-9]+)/$ /index.php?p=$1 [QSA,L,NC]
</IfModule> |
index.php
ввожу в браузере
"http://domain.ru/page456456/" - все ок, результат "p=456456"
"http://domain.ru/page456456" => "http://domain.ru/home/www/htdocs/domain.ru/page456456/"
|
|
|
|
« ... full on ... »
С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686
|
Добавлено: 05/06/09 в 12:32 |
Хм... Странно, у меня и локально и на шареде такое работает... Ну вот только такой вариант ещё пока в голову пришёл:
Код: | <IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+[^/])$ $1/ [R,L]
RewriteRule ^page([0-9]+)/$ /index.php?p=$1 [QSA,L,NC]
</IfModule> |
Тоже работает - проверил!
|
|
Power of the lime madness...
|
8
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 05/06/09 в 12:40 |
Corex писал: | Хм... Странно, у меня и локально и на шареде такое работает... Ну вот только такой вариант ещё пока в голову пришёл:
Код: | <IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+[^/])$ $1/ [R,L]
RewriteRule ^page([0-9]+)/$ /index.php?p=$1 [QSA,L,NC]
</IfModule> |
Тоже работает - проверил! |
не работает... видимо что-то не то делаю
можешь в аське глянуть если есть свободная минутка?
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 05/06/09 в 13:40 |
Corex: помог, спасибо!
|
|
|
|