.htaccess:在内部将 .htm url 重写为 .php,同时也将 .php url 重定向到 .htm

发布于 2024-11-11 01:06:18 字数 294 浏览 0 评论 0原文

我有一个 php 网站。对于所有页面链接,我使用 foo.htm,并在内部使用 .htaccess 将其重写为 foo.php:

RewriteRule ^(.*)\.htm$ $1.php [NC,L]

这非常有效 - 但是,它仍然允许您使用 foo.php url。我想将 foo.php 301 重定向到 foo.htm,以防止任何旧的 foo.php 搜索引擎结果徘徊,并将 foo.htm url 在内部重写为 foo.php

我无法弄清楚如何在不创建的情况下执行此操作一个循环。

I have a php site. For all of the page links I use foo.htm, and internally rewrite this to foo.php with .htaccess:

RewriteRule ^(.*)\.htm$ $1.php [NC,L]

This works great - however, it still allows you to use the foo.php url. I would like to 301 redirect foo.php to foo.htm to prevent any old foo.php search engine results from hanging around and rewrite the foo.htm url internally to foo.php

I can't figure out how to do this without creating a loop.

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

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

发布评论

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

评论(2

池予 2024-11-18 01:06:18

将此代码放入您的 .htaccess 文件中:

Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteCond %{THE_REQUEST} ^GET\s(.+)\.php [NC]
RewriteRule ^ %1.htm [R=301,L]

RewriteRule ^(.*)\.htm$ /$1.php [L,NC]

Put this code in your .htaccess file:

Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteCond %{THE_REQUEST} ^GET\s(.+)\.php [NC]
RewriteRule ^ %1.htm [R=301,L]

RewriteRule ^(.*)\.htm$ /$1.php [L,NC]
忆梦 2024-11-18 01:06:18
RewriteRule ^(.*)\.htm$ $1.php [NC,L]
RewriteRule ^(.*)\.php$ $1.htm [NC,R]

选项 L 停止重写引擎,防止循环。

RewriteRule ^(.*)\.htm$ $1.php [NC,L]
RewriteRule ^(.*)\.php$ $1.htm [NC,R]

the option L stops the rewriting engine, preventing a loop.

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