将文件扩展名从 .htm 更改为 .php 的最佳方法是什么

发布于 2024-11-02 12:05:11 字数 249 浏览 4 评论 0原文

我需要将网络服务器中的一些 htm 文件更改为 .php 文件。这些页面是从不同地方链接的。当有人尝试访问它们时,我不希望它们显示文件未找到错误。

例如,如果需要将index.htm更改为index.php,我可以

     redirect 301 /index.html index.php

在htaccess文件中写入重定向吗?这是最好的方法吗?

谢谢普拉迪

i need to change some htm files in my webserver to .php files. These pages are linked from various places. i dont want them to show a file not found error when someone tries to access them.

For example if the index.htm needs to be changed to index.php can i write a redirect

     redirect 301 /index.html index.php

in my htaccess file? Is this the best approach?

Thanks

Prady

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

苏辞 2024-11-09 12:05:11

您可以使用 mod_rewrite。像这样的事情可能会起作用:

RewriteEngine on
RewriteRule index.php index.html

您可以使用正则表达式。看:
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

You could use the mod_rewrite. Something like this might work:

RewriteEngine on
RewriteRule index.php index.html

You can use regular expressions. See:
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

染墨丶若流云 2024-11-09 12:05:11

重定向301 /index.html index.php

如果您通过 POST 发送数据,这将不起作用。除了重命名文件和重写链接之外的任何操作都是丑陋且临时的黑客行为。 FWIW,您可以通过将每个“页面”放在自己的目录中并引用 URL 中的目录并通过目录索引配置指定默认文件来避免这种情况。

您没有提到它运行在什么操作系统上 - 如果是 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' {} \;

redirect 301 /index.html index.php

This won't work if you are sending data via POST. Anything other than renaming the files and rewriting the links is an ugly and temporary hack. FWIW, you can avoid this by having each 'page' in its own directory and referencing the dir in the URL and specifying the default file via the directoryIndex config.

You didn't mention what OS this is running on - if its Linux/Unix/BSD then you could just use sed to change all the absolute links (and grep to find the relative ones which you'll probably need to edit by hand).

Something like....

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' {} \;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文