我需要将所有.html文件作为.php文件运行,并且我没有时间在明天的演示之前更改所有链接。有没有办法用我的Apache服务器“破解”这个?使用.htaccess将所有.html页面作为.php文件运行?
回答
你的网站的根目录下创建一个.htaccess文件并添加以下行:
[Apache2的@ Ubuntu的/ Debian的:使用此指令]
AddType application/x-httpd-php .html .htm
或者,从以下评论:
AddType application/x-httpd-php5 .html .htm
如果您正在运行PHP,CGI(可能并非如此),则应该写:
AddHandler application/x-httpd-php .html .htm
我不得不在该类型的末尾添加`5`来使其工作,即`AddType应用程序/ x-httpd-php5 .html .htm`(运行PHP 5.3的CentOS) – melat0nin 2014-04-09 09:17:45
在我的GoDaddy的服务器下面的代码工作
Options +ExecCGI
AddType application/x-httpd-php .php .html
AddHandler x-httpd-php5 .php .html
我觉得这是对HTML和HTM网页运行PHP脚本的最佳方式:
AddType application/x-httpd-php5 .html .htm
通常你应该添加:
Options +ExecCGI
AddType application/x-httpd-php .php .html
AddHandler x-httpd-php5 .php .html
Howeve r代表GoDaddy的共享主机(PHP-CGI),您还需要添加这些行:
AddHandler fcgid-script .html
FCGIWrapper /usr/local/cpanel/cgi-sys/php5 .html
使用@马克 - 弗朗索瓦办法火狐提示我下载HTML文件
最后为我工作(同时使用)以下:
AddType application/x-httpd-php .htm .html AddHandler x-httpd-php .htm .html
您也可以使用H或T标志的mod_rewrite强制所有。HTML文件由PHP处理程序解析:
使用H(处理器)标志:
RewriteEngine on
RewriteRule \.(html|htm)$ - [H=application/x-httpd-php5]
使用T(类型)标志:
RewriteEngine on
RewriteRule \.(html|htm)$ - [T=application/x-httpd-php5]
或者你也可以将规则添加更多的扩展由管道分离的模式|要由PHP处理程序解析
例如:
RewriteRule \.(html|htm|txt|foo)$ - [T=application/x-httpd-php5]
上面的例子将改变与的.html结尾的文件的MIME类型,的.htm,.TXT ,.foo to php。
注:在一些服务器上,你将不得不改变PHP5到PHP得到这个例子中处理字符串的工作:
更改它
[T=application/x-httpd-php5]
到
[T=application/x-httpd-php]
您需要将以下行添加到您的Apache配置文件中:
AddType application/x-httpd-php .htm .html
您还需要其他两件事情:
允许Overridding
在
your_site.conf
文件(例如,在我的情况/etc/apache2/mods-available
)下,加上下面几行:<Directory "<path_to_your_html_dir(in my case: /var/www/html)>"> AllowOverride All </Directory>
启用重写国防部
运行这个命令你的机器上:
sudo a2enmod rewrite
经过任何的这些步骤,你应该重新启动apache:
sudo service apache2 restart
AddHandler application/x-httpd-php .php .html .htm
// or
AddType application/x-httpd-php .php .htm .html
- 1. 通过.htaccess将所有* .php页面重定向到* .html
- 2. 需要做.htaccess文件显示所有的页面上的HTML
- 3. 的.htaccess - 除了主页的所有页面使用以下htaccess文件HTTPS
- 4. 将.jsp作为.html文件运行
- 5. 使用.htacces将.ics文件作为.php文件运行
- 6. 使用htaccess重定向所有页面
- 7. 使用htaccess将所有部分页面重定向到一页
- 8. htaccess的重定向所有,但一个页面的HTML到PHP
- 9. 的.htaccess重定向所有的.html页面到PHP GET变量
- 10. .htaccess用php文件重写wordpress页面
- 11. 如何将所有* .html页面重定向到* .php页面?
- 12. 如何使用htaccess文件将文件夹的所有页面重定向到某个页面?
- 13. 需要使用htaccess将php页面重定向到html吗?
- 14. 使用PHP替换HTML页面正文中的所有链接使用PHP
- 15. 将一个php页面重定向到Apache的html页面htaccess
- 16. htaccess和PHP文件 - 处理所有文件为PHP?
- 17. 使用Inkscape Commnad行将PDF的所有页面转换为多个PNG文件
- 18. 使用代理php将文本/ html页面转换为XML
- 19. 如何使用htaccess将所有页面重定向到404
- 20. 将XML文件转换为HTML页面
- 21. 在HTML页面中运行PHP
- 22. 在html页面运行PHP脚本
- 23. 运行单个.html文件为.php?
- 24. htaccess将所有页面重定向到一个页面
- 25. 使用htaccess的斗篷HTML页面的文件夹
- 26. htaccess的重定向所有HTML文件
- 27. 如何将所有JS文件写入一个HTML页面?
- 28. Phing PHPUnit运行所有php文件
- 29. 禁用.php扩展名,但运行没有.php的文件作为php文件
- 30. 我的HTML页面似乎没有运行我的JavaScript文件
虽然这不是直接回答你的问题,但使用`sed`或任何好的IDE都可以让你在整个目录/项目中找到并替换。另外,您可以在Linux上轻松批量重命名文件。 – coreyward 2011-01-14 01:43:04
是的,但如果您使用sed重命名文件,您可能会收到许多断开的链接。当然,您也可以尝试更改您网站上的所有链接,但也有来自整个互联网的可能指向您网站的链接。 – 2011-01-14 02:26:04