Mod重写2部分问题

时间:2010-12-16 05:52:07

标签: mod-rewrite

我想知道如何使用mod_rewrite重写下面的URL?是否有一个在线教程解释mod_rewrite for dummies?

如何重写此网址。

http://www.example.com/sitemap.php 

http://www.example.com/sitemap.xml

3 个答案:

答案 0 :(得分:2)

RewriteRule sitemap.php sitemap.xml

应该这样做。

答案 1 :(得分:2)

根据您希望它的工作方式,您有两种选择。

将一个文件重定向到另一个文件的最简单方法是简单地使用Redirect指令:

 Redirect /sitemap.php http://www.example.com/sitemap.xml

默认情况下会执行302重定向,但您可以通过将状态代码添加为第一个参数来将其更改为301,即:

 Redirect 301 /sitemap.php http://www.example.com/sitemap.xml

在这两种情况下,这将导致往返浏览器,因此地址栏将更改为显示新的sitemap.xml文件名。如果您不想这样,可以使用RewriteRule指令:

 RewriteRule ^sitemap.php$ /sitemap.xml [L]

请注意,这是您从所谓的“per-dir context”编写规则的方式,这意味着规则是从.htaccess文件或{{1}中编写的阻止。如果您是从主配置中编写它,那么您需要一个前导斜杠(即<Directory>)来表明您的规则是否与文档根匹配。

答案 2 :(得分:0)

我建议:

RewriteRule ^/sitemap.php$ /sitemap.xml

至于教程,您是否尝试过官方Apache mod_rewrite Introduction? 在此之后,URL Rewriting GuideAdvanced URL Rewriting Guide中有许多有用的示例......它们可能很复杂但它确实包含许多常见重写任务的示例。

相关问题