我需要将我的网络服务器中的一些htm文件更改为.php文件。这些页面链接来自不同的地方。当有人试图访问它们时,我不希望它们显示文件未找到错误。
例如,如果需要将index.htm更改为index.php,我可以写一个重定向
redirect 301 /index.html index.php
在我的htaccess文件中?这是最好的方法吗?
由于
Prady
答案 0 :(得分:2)
你可以使用mod_rewrite。这样的事情可能有用:
RewriteEngine on
RewriteRule index.php index.html
您可以使用正则表达式。看到: http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html
答案 1 :(得分:1)
重定向301 /index.html index.php
如果您通过POST发送数据,则无效。除了重命名文件和重写链接之外的任何东西都是一个丑陋的临时黑客。 FWIW,您可以通过将每个“页面”放在其自己的目录中并在URL中引用dir并通过directoryIndex配置指定默认文件来避免这种情况。
你没有提到它运行的操作系统 - 如果它的Linux / Unix / BSD那么你可以使用sed来改变所有绝对链接(和grep找到你可能需要编辑的相关链接)用手)。
像......那样的东西。
find /path/to/root/of/docs -type f -exec sed -ibkup 's/\/index.html/\/index.php/g' {} \;
find /path/to/root/of/docs -type f -exec grep -l 'index.html' {} \;