2013-08-20 3 views
2

Наш сайт имел ссылку: http://www.mechanismdigital.com/aboutдолжны ввести .php, чтобы открыть меню ссылку

Он ранее работал хорошо.

Теперь это не так, требуется вручную ввести .php в конце, чтобы открыть. Например

http://www.mechanismdigital.com/about.php

и что работает.

Почему это?

любые мысли?

Я знаю, что это ограничивается только этим меню.

+0

Если все, что вам нужно, немного [согласование контента] (http://httpd.apache.org/docs/2.2/content-negotiation.html#multiviews), 'mod_rewrite' является ** way ** overblown – Phil

ответ

2

Добавьте эту строку кода в файл .htaccess. ..

redirect /about /about.php 

about Изменение и about.php соответственно.

+2

Мы создаем его сейчас. Первоначально мы не видели файл .htaccess, и он не был скрыт. Сейчас это работает на нас, спасибо. Поскольку у нас есть живые ссылки, которые не ищут этот .htaccess, и поэтому в конечном итоге нам нужен создатель, чтобы рассказать нам, как это делается. Я могу опубликовать результаты, когда узнаю. – NateM

+1

@ user2701729 Sweet - сообщите мне, если у вас есть какие-либо проблемы, если нет, пожалуйста, примите, когда сможете. –

+0

, мы думаем, что это было раньше с использованием RewriteCond – NateM

-1

Возможно, кто-то неправильно отредактировал файл .htaccess.

Этот файл делает возможным переназначения, что позволяет иметь называемые «хорошие URLs» или «чистых URL»

Читайте статью Википедии о нем: https://en.wikipedia.org/wiki/Clean_URL


Ваш контактный адрес: http://www.mechanismdigital.com/contactбыл тоже сломан. (Я вижу, вы просто исправите это)

Возможно, у вас был .htaccess, но он был скрыт или параметры, заданные на локальном php (если вы не можете изменить/etc/php, ну, как-то вы настроили перенаправление, поэтому логично предположить файл htaccess или локальный файл php.ini)

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

С чем-то вроде этого, вы можете сделать это для каждого PHP файла там:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 
+0

вот что мы думали, но файл .htaccess не был начат с – NateM

+0

@ user2701729 вы уверены? этот файл по умолчанию скрыт.Если вы, ребята, * действительно * не имели перенаправления там, также можете установить его с помощью файлов конфигурации php внутри '/ etc /' –

+0

, у нас нет корневого доступа к серверу, поэтому мы не можем установить/etc/ – NateM

1

Поместите это в файле .htaccess:

redirect /about /about.php 
0

Мое предположение заключается в том, что в конфигурации вашего сервера используется MultiViews, и теперь это не так. Повторно включите его в конфигурацию сервера Apache, и вам должно быть хорошо идти.

Options MultiViews 

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

Смежные вопросы