.htaccess

Статус
В этой теме нельзя размещать новые ответы.

fafee

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


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

То есть убрать .php
спасибо
 
убрать .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]
 
убрать .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]
да, точно убрать .php
но, я для примера дал name1 и тд.. у меня там может быть любое слово и без числа....:nezn:
 
неужели никак нельзя?:thenks:
 
первый вариант в прошлом сообщении работает убирает .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');
?>
 
первый вариант в прошлом сообщении работает убирает .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');
?>

к сожалению не первый не второй не помогает
как было

_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>
 
как я понял надо у 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>
 
к сожалению не первый не второй не помогает
как было
_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>
Так у тебя ссылки заменяться не будут, наоборот сам делай ссылки на страницу _http://syte.ru/cat и она покажет то, что лежит в _http://syte.ru/cat.php
 
Так у тебя ссылки заменяться не будут, наоборот сам делай ссылки на страницу _http://syte.ru/cat и она покажет то, что лежит в _http://syte.ru/cat.php
то есть во всех файлах ссылки делать без .php и они все равно будет нормально открываться? и .php писаться не будет?
 
Другой вопрос по htaccess:
Как закрыть доступ к выполнению файлов из определенной папки и как ограничить размер загружаемых файлов на сервер?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху