Задать вопрос

Как объединить htaccess?

Всем доброго времени суток! Хочу объединить два файла htaccess, но к сожалению их синтаксиса не знаю, поэтому не знаю как объединить следующие два фрагмента:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ profile.php?username=$1
и этот
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
Первый делает и адреса виды profile.php?username=bob адрес вида просто bob . Второй убирает окончания .php в строке. Но тогда получается такая проблема . Например, попав на страницу news , она расценивается как пользователь и выдает ошибку. Как реализовать комбинацию этих фрагментов? Если такое нельзя реализовать,то может возможен вариант типа: user/bob ? Заранее спасибо
  • Вопрос задан
  • 2393 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
RewriteEngine On
RewriteRule ^user/(.+)$ /profile.php?username=$1 [L] # все запросы user/* будет обрабатывать profile.php

RewriteCond %{REQUEST_FILENAME}\.php -f # если {query}.php
RewriteRule ^(.*)$ $1.php # то {query} будет обрабатывать {query}.php

Условие RewriteCond %{REQUEST_FILENAME} !-d я не стал вкладывать в код намерено для ясности
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы