@Evgeniuster

Как вернуть .php в конце адреса страницы?

Здравствуйте!
Подскажите пожалуйста, как вернуть расширение файла в конце адреса.
Сайт с одной точкой входа.
Сейчас он убирает расширение файлов в адресной строке.

Индексный файл выглядит вот так
<?
$params = array();
$query_string = str_replace("page=","",trim($_SERVER['QUERY_STRING']));
$query_string = urldecode($query_string);
$query_params = explode("/",$query_string);
foreach ($query_params as $query_param)
	if ($query_param != "")
		$params[] = mysql_escape_string($query_param);
?>
<?	
if (count($params) == 0) $params[0] = "main";
	require_once file_exists('modules/' . $params[0] . '.php')
	? 'modules/' . $params[0] . '.php' : 'modules/404.php'; 
?>

.htaccess выглядит вот так
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1 [L]
AddDefaultCharset utf-8
AddType 'text/html; charset=utf-8' .html .htm .shtml
AddHandler application/x-httpd-php .html .htm .js


как-то в давнем проекте удалось победить... а сейчас все перепробовал, не могу сделать...
  • Вопрос задан
  • 138 просмотров
Пригласить эксперта
Ответы на вопрос 1
daager
@daager
Вот же: RewriteRule ^(.*)$ index.php?page=$1 [L]
Любой запрос отправить в виде параметра.
Уберите:
RewriteEngine On #включить mod_rewrite
RewriteBase / #базовый url
RewriteCond %{REQUEST_FILENAME} !-f  #все <b>существующие</b> файлы не будут обрабатываться регуляркой
RewriteCond %{REQUEST_FILENAME} !-d #все <b>существующие</b> папки не будут обрабатываться регуляркой
RewriteRule ^(.*)$ index.php?page=$1 [L] #перенаправляем то, что подходит под регулярку в виде GET-параметра


Но PHP код сломается и небезопасен, ибо подключать что угодно, по url это так себе.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽