Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
.htaccass
Новая тема
Ответить
цитата
04/06/09 в 22:44
ibiz
как сделать чтобы все страницы открывались со слэшем на конце?
тоесть пользователь набирает в строке браузера /page-130, надо чтобы автоматически открывалсь страница /page-130/ и при этом когда набирается /page-130/, никакого редиректа само на себя небыло??
цитата
04/06/09 в 23:02
andreich
ХМ могу ошибаться но помойму это можно сделать настройкой апача
цитата
04/06/09 в 23:14
Dr.Syshalt
Код:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+[^/])$ $1/ [R]
P.S. разумеется, будет работать только с физическими директориями.
цитата
04/06/09 в 23:30
Simplex
Оффтопик:
Dr.Syshalt:
написал в аську тебе с вопросом, ответь плиз
цитата
04/06/09 в 23:40
Dr.Syshalt
Оффтопик:
Simplex писал:
Dr.Syshalt:
написал в аську тебе с вопросом, ответь плиз
что-то не вижу ничего, попробуй запрос на авторизацию сделать сначала
цитата
05/06/09 в 00:07
ibiz
Dr.Syshalt писал:
Код:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+[^/])$ $1/ [R]
P.S. разумеется, будет работать только с физическими директориями.
чот неработает
вообще директории не физические, а по такому правилу
RewriteRule ^page([0-9]+)/$ /index.php?p=$1 [L,NC]
цитата
05/06/09 в 09:04
Corex
ibiz:
Тогда перед своим правилом пропиши вот в таком виде 1 строку из вышеуказанного правила:
Код:
RewriteRule ^(.+[^/])$ $1/ [R,L]
цитата
05/06/09 в 09:11
ibiz
Corex писал:
ibiz:
Тогда перед своим правилом пропиши вот в таком виде 1 строку из вышеуказанного правила:
Код:
RewriteRule ^(.+[^/])$ $1/ [R,L]
все равно неработает... лезть в апач нет возможности, шаред хост
цитата
05/06/09 в 09:23
ibiz
вот стал редиректить по этому правилу, но на физическую директорию
примерно так
http://localhost/6448
=>
http://localhost/Z:/home/localhost/site/6448/
а нужно так
http://localhost/6448/
цитата
05/06/09 в 10:47
Corex
ibiz:
Выложи тогда весь .htaccess или хотя бы ту часть, где все правила для mod_rewrite, а то так не угадаешь, но само правило для закрывающего слэша корректное и рабочее.
цитата
05/06/09 в 11:21
ibiz
вот все правило
Код:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.+[^/])$ $1/ [R,L]
RewriteRule ^page([0-9]+)/$ /index.php?p=$1 [L,NC]
</IfModule>
цитата
05/06/09 в 11:41
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>
цитата
05/06/09 в 11:53
ibiz
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/"
прямо жопа какая-то
цитата
05/06/09 в 12:14
Corex
.htaccess и файл index.php лежат в корневой директории, в www? Или это типа субдомена site.localhost (судя по localhost/site/6448/)? index.php точно существует? Если index.php нет, то такое может быть.
Ну и правило в .htaccess рассчитано на запрос вида localhost/
page
6448/.
Это же всё в денвере, судя по всему. Создай отдельный виртуальный домен, туда положи .htaccess и index.php (или файл, который в правиле прописан вместо index.php) и всё будет работать.
цитата
05/06/09 в 12:24
ibiz
попробовал на отдельном домене на шаред хостинге
в дире два файла, ничего лишнего
.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
Код:
<?
echo 'p='.$p;
?>
ввожу в браузере
"http://domain.ru/page456456/" - все ок, результат "p=456456"
"http://domain.ru/page456456" => "http://domain.ru/home/www/htdocs/domain.ru/page456456/"
цитата
05/06/09 в 12:32
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>
Тоже работает - проверил!
цитата
05/06/09 в 12:40
ibiz
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>
Тоже работает - проверил!
не работает... видимо что-то не то делаю
можешь в аське глянуть если есть свободная минутка?
цитата
05/06/09 в 13:40
ibiz
Corex:
помог, спасибо!
Новая тема
Ответить
Эта страница в полной версии