2015-04-16 45 views
1

我想将.php文件显示为.htm扩展名。这是我认为会工作,但它不:重写.php以显示.htm

RewriteEngine On 
RewriteBase/
RewriteRule ^contact\.php$ contact.htm [NC,R,L] 

任何帮助将不胜感激。谢谢。

回答

2

你非常接近。你已经改写了重写规则参数 - 第一个参数是你正在听的内容(content.html),第二个参数是你想要加载的(contact.php)。我还删除了R标志,以便服务器在内部执行此操作 - 使用R标志,服务器将向浏览器发送命令,强制重定向到新位置。

RewriteEngine On 
RewriteBase/
RewriteRule ^contact\.htm$ contact.php [NC,L] 
+0

非常感谢。 – user3642210

3

添加到您的.htaccess文件,使PHP在HTML文件:

# allow HTML files to process PHP 
AddType application/x-httpd-php .html .htm 

# now the rewrite can occur 
RewriteEngine On 
RewriteBase/
RewriteRule ^contact\.htm$ contact.php [NC,R,L] 

随着在那里你可以重写URL。

+0

我不明白这样说实话。认为在.htaccess文件中进行单页重写会更有意义吗? – user3642210

+0

@ user3642210这基本上告诉Apache将每个'.htm'或'.html'文件当作一个PHP文件并通过解释器传递 - 它可以工作,但它不是很有效率......尤其是当你只想要假一个文件名。 – CD001

+0

是的 - @ CD001是正确的,它不是非常有效。我的首选是重写和排除文件扩展名。 –

相关问题