我想知道如何使用mod_rewrite重写下面的URL?是否有一个在线教程解释mod_rewrite for dummies?
如何重写此网址。
http://www.example.com/sitemap.php
到
http://www.example.com/sitemap.xml
答案 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 Guide和Advanced URL Rewriting Guide中有许多有用的示例......它们可能很复杂但它确实包含许多常见重写任务的示例。