.htaccess

Тема в разделе "PHP", создана пользователем fafee, 15 сен 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. fafee

    fafee Постоялец

    Регистр.:
    4 окт 2008
    Сообщения:
    92
    Симпатии:
    0
    подскажите, что должно быть в .htaccess, чтобы
    ссылки вида
    _http://site.ru/любое слово.php


    стали
    _http://site.ru/любое слово

    То есть убрать .php
    спасибо
     
  2. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    убрать .php что ли:
    Код:
    RewriteEngine on
    RewriteBase /
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    
    RewriteRule ^(.*)/?$ $1.php [QSA,L] 
    
    или с проверкой на числа
    Код:
    AddDefaultCharset utf-8
    
    RewriteEngine on
    RewriteBase /htaccess/
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    
    RewriteRule ^name([0-9]+)/?$ name$1.php [QSA,L] 
    
     
    fafee нравится это.
  3. fafee

    fafee Постоялец

    Регистр.:
    4 окт 2008
    Сообщения:
    92
    Симпатии:
    0
    да, точно убрать .php
    но, я для примера дал name1 и тд.. у меня там может быть любое слово и без числа....:nezn:
     
  4. fafee

    fafee Постоялец

    Регистр.:
    4 окт 2008
    Сообщения:
    92
    Симпатии:
    0
    неужели никак нельзя?:thenks:
     
  5. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    первый вариант в прошлом сообщении работает убирает .php, но проблемы если название файла не в ascii, тогда русские слова и другие не ascii символы лучше передавать на какой нибудь файл например index.php как значение переменной:
    Код:
    RewriteEngine on
    RewriteBase /htaccess/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/?$ index.php?key=$1 [QSA,L]
    
    а в index.php брать значение и подключать нужный файл и т. д.
    PHP:
    <?
    echo 
    $_GET['key'];
    if(
    $_GET['key']=="любое слово")include('liuboe_slovo.php');
    ?>
     
  6. fafee

    fafee Постоялец

    Регистр.:
    4 окт 2008
    Сообщения:
    92
    Симпатии:
    0
    к сожалению не первый не второй не помогает
    как было

    _http://syte.ru/cat.php
    _http://syte.ru/dog.php
    и тд.. так и осталось :nezn:

    русских названий нет
    вот мой .htaccess

    AddDefaultCharset UTF-8

    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/?$ $1.php [QSA,L]

    Options All -Indexes

    <Files .htaccess>
    order allow,deny
    deny from all
    </Files>
     
  7. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    как я понял надо у slovo.php ссылок убирать .php и чтоб в адресной строке тоже убиралось, а простые ссылки без .php перенаправлять на slovo.php:

    AddDefaultCharset UTF-8

    RewriteEngine on
    RewriteBase /


    #если запрос не .php
    RewriteCond %{REQUEST_URI} !^(.+)\.php$
    #нет каталога
    RewriteCond %{REQUEST_FILENAME} !-d
    #нет файла
    RewriteCond %{REQUEST_FILENAME} !-f
    #тогда перенаправление на запрос.php файл
    RewriteRule ^(.*)/?$ $1.php [QSA,L]


    #если запрос на php файл
    RewriteCond %{THE_REQUEST} ^(.+)\.(php|PHP)\ HTTP
    #то перенаправление, убирается .php
    RewriteRule ^(.*)\.php$ http://сайтег.ру/$1 [R=301,L]


    Options All -Indexes

    <Files .htaccess>
    order allow,deny
    deny from all
    </Files>
     
  8. Kloster

    Kloster

    Регистр.:
    22 июн 2009
    Сообщения:
    216
    Симпатии:
    12
    Так у тебя ссылки заменяться не будут, наоборот сам делай ссылки на страницу _http://syte.ru/cat и она покажет то, что лежит в _http://syte.ru/cat.php
     
  9. fafee

    fafee Постоялец

    Регистр.:
    4 окт 2008
    Сообщения:
    92
    Симпатии:
    0
    то есть во всех файлах ссылки делать без .php и они все равно будет нормально открываться? и .php писаться не будет?
     
  10. shmitacc

    shmitacc Постоялец

    Регистр.:
    31 авг 2009
    Сообщения:
    76
    Симпатии:
    6
    Другой вопрос по htaccess:
    Как закрыть доступ к выполнению файлов из определенной папки и как ограничить размер загружаемых файлов на сервер?
     
Статус темы:
Закрыта.