htaccess - скриване на разширение

fbian

Registered
Как мога да скрия разширението на файл с htaccess?
Имам предвид следното:
PHP:
www.sitename.com/gallery.php
да е достъпен само през:
PHP:
www.sitename.com/gallery
 
Код:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]
RewriteRule ^(.*)/$ $1.php [L]
 
Това горе ще ти свърши работа, а във .php файловете напиши това:

<?php if (eregi("пътя/името на файла.php", $_SERVER['SCRIPT_NAME'])) { header("Location: index.php"); } ?>
 
абе майй френд .. ти да си казал някаде че искаш да забраниш влизането през линкове с разширение .. НЕ нали .. изказвай всичко на веднъж .. квой тва .. после недоволен .. ?! :shock:
 
M1tq96 каза:
абе майй френд .. ти да си казал някаде че искаш да забраниш влизането през линкове с разширение .. НЕ нали .. изказвай всичко на веднъж .. квой тва .. после недоволен .. ?! :shock:
Искаш да ми кажеш,че не съм обяснил?В първия си пост съм казал - "да е достъпен само през - и давам един примерен урл адрес".Логично е,че след като адреса - www.sitename.com/gallery е такъв,трябва да е без разширението и само през него да може да се разглежда дадена страница...
 
Weezy каза:
Кодът, който съм ти дал не ти ли свърши работа? ;)
Искам да е с htaccess.Иначе ти благодаря,но ако беше с php щях да си го направя и сам и нямаше да пускам тема.
 
1 тъп вариант, ама може да проработи

Пробвай така
Код:
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\_neshto.php -f 
RewriteRule ^(.*)$ $1_neshto.php [L] 
RewriteRule ^(.*)/$ $1_neshto.php [L]

Сложи след самото име на файла _neshto
и трябва да стане index_neshto.php и след като отваряш index.php няма да го отвори, а ще отваря само index
 
Weezy каза:
Това горе ще ти свърши работа, а във .php файловете напиши това:

<?php if (eregi("пътя/името на файла.php", $_SERVER['SCRIPT_NAME'])) { header("Location: index.php"); } ?>

А ти наясно ли си, че функцията eregi в php 5.3 са я разкарали ?
 
kikity_94 каза:
Weezy каза:
Това горе ще ти свърши работа, а във .php файловете напиши това:

<?php if (eregi("пътя/името на файла.php", $_SERVER['SCRIPT_NAME'])) { header("Location: index.php"); } ?>

А ти наясно ли си, че функцията eregi в php 5.3 са я разкарали ?
За същата работа аз ползвам mb_strstr();

Код:
if(mb_strstr($_SERVER["PHP_SELF"], "filename.php", "UTF-8"))
{
header('Location: /');
}
 

Back
Горе