Как удалить все расширение .php из каталога и всех его подкаталогов? - PullRequest
0 голосов
/ 23 июля 2010

Моя сеть имеет следующую структуру:

перемещение /
включает в себя /
контроллеры /
включает в себя /
и т.д ...


У меня есть следующие вопросы о /moving и всех его подкаталогах:

  1. Как я могу запросить любой скрипт php без расширения .php?
  2. Как я могу запросить ...dir/index.php?q=about как просто ...dir/about?
  3. Где мне разместить мой файл .htaccess?

Я понимаю, что мой первый вопрос может быть дубликатом, но чтобы контекстуализировать мой второй и третий вопрос, я должен был его задать.

Использование WampServer 2.0 Заранее спасибо.

Ответы [ 3 ]

2 голосов
/ 23 июля 2010

apache не будет анализировать ваш php-скрипт, если у него нет расширения ".php".

, но вы можете использовать mod_rewrite :

Этот модуль использует механизм перезаписи на основе правил (на основе синтаксического анализатора регулярных выражений) для перезаписи запрошенных URL-адресов на лету.Он поддерживает неограниченное количество правил и неограниченное количество условий для каждого правила, чтобы обеспечить действительно гибкий и мощный механизм манипулирования URL-адресами.Работа с URL-адресами может зависеть от различных тестов, переменных сервера, переменных среды, заголовков HTTP или отметок времени.Даже поиск во внешней базе данных в различных форматах может быть использован для достижения очень детального сопоставления URL.

Этот модуль работает с полными URL (включая часть path-info) как в контексте для каждого сервера (httpd.conf), так идля каждого каталога (.htaccess) и может генерировать части строки запроса по результату.Переписанный результат может привести к внутренней подпроцессорной обработке, перенаправлению внешнего запроса или даже к внутренней пропускной способности прокси. Внутренняя пропускная способность прокси.

1 голос
/ 11 ноября 2011

Если все файлы вашего сайта заканчиваются на .php и вы хотите удалить расширение .php, то вам нужно создать файл .htaccess или, если он у вас уже есть, добавить это правило:

RewriteRule ^ (([^ /] + /) * [^.] +) $ /$1.php [L]

Предположим, что страницы вашего сайта, скажем, site / about.php, site / contact.php, site / news.php, приведенное выше правило просто преобразует их в site / about, site / contact, site / news

Надеюсь, это поможет!

0 голосов
/ 23 июля 2010

При условии, что у вас есть mod_rewrite, направляющий запрос расширения не-php на соответствующий запрос, вы бы поместили его в корневой веб-каталог.

...