我们的网站有一个链接: http ://www.mechanismdigital.com/about
它以前工作得很好。
现在没有了,需要在最后手动输入 .php 才能打开。例如
http://www.mechanismdigital.com/about.php
那行得通。
为什么是这样?
有什么想法吗?
我知道它只限于这一个菜单。
我们的网站有一个链接: http ://www.mechanismdigital.com/about
它以前工作得很好。
现在没有了,需要在最后手动输入 .php 才能打开。例如
http://www.mechanismdigital.com/about.php
那行得通。
为什么是这样?
有什么想法吗?
我知道它只限于这一个菜单。
将这行代码添加到您的.htaccess
文件中...
redirect /about /about.php
about
相应地改变about.php
。
把它放在你的.htaccess
文件中:
redirect /about /about.php
我的猜测是您的服务器配置曾经启用了MultiViews,但现在没有。在您的 Apache 服务器配置中重新启用它,您应该一切顺利。
Options MultiViews
.htaccess
如果您不能直接编辑服务器或虚拟主机配置,您应该可以将其添加到文件中。
有人可能错误地编辑了.htaccess
文件。
该文件使重定向成为可能,它允许拥有所谓的“nice urls”或“clean urls”
阅读有关它的维基百科文章:https ://en.wikipedia.org/wiki/Clean_URL
您的联系网址:http ://www.mechanismdigital.com/contact 也 被破坏了。(我看到你只是修复它)
也许您有一个 .htaccess 但它被隐藏了,或者在本地 php 上设置了选项(如果您无法更改 /etc/php,那么,您以某种方式配置了重定向,因此假设一个 htaccess 文件或本地 php.ini 文件)
现在,其他答案提供的方法确实有效,但需要为每个 php.ini 手动添加这样的 lino。
有了这样的东西,你可以为那里的每个 php 文件制作它:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php