我知道它正在尝试加载.html版本,至少我很确定。我也认为它是.htaccess文件中的内容。我尝试了一些不同的东西,从搜索谷歌和短缺。基本上我希望它工作,以便如果输入的名称没有.html文件,它将转到php。
这可能吗?
答案 0 :(得分:2)
试试这个:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -s
RewriteRule ^.*$ %{REQUEST_URI}.php [L,QSA]
以上规则说,如果请求的文件大小为0,或者不存在文件,符号链接或目录以及具有.php
扩展名的同名文件,则重写为.php
文件。
这有效地将site.com/foo
重写为site.com/foo.php
,其中foo
可以是任何内容。
我不清楚你想要什么。如果您要将不存在的.html
文件映射到.php
扩展名,请尝试以下方式:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\.html$ $1.php [L,QSA]
这只是说如果请求的文件不存在并以.html
结尾,则获取文件名(少于.html
)并尝试重写.php
扩展名。< / p>
答案 1 :(得分:1)
在htaccess中
RewriteEngine on
RewriteRule ^eat$ eat.php [L]
答案 2 :(得分:1)
将此添加到apache配置(在httpd.conf
,VirtualHost
配置或.htaccess
中):
Options +MultiViews
当content-negotiation
可以完成工作时,使用重写是一种过度杀伤。