.Htaccess Mod将file.php重写为file.xml?

.Htaccess Mod将file.php重写为file.xml?,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我做的一项工作需要一些flashxml变量由ajax加载,但我必须用php生成xml文件,由于某种原因,当我尝试jquery加载它时,它会中断,但当我将扩展从php更改为xml时,它工作了 现在我想用mod rewrite来重写 settings.php?id=1 到 我一直试图用教程自己做,但我就是做不好 任何帮助都将不胜感激 我想使用mod rewrite将settings.php?id=1重写为/1/settings.xml 这意味着: RewriteEngine On Rewrite

我做的一项工作需要一些flashxml变量由ajax加载,但我必须用php生成xml文件,由于某种原因,当我尝试jquery加载它时,它会中断,但当我将扩展从php更改为xml时,它工作了

现在我想用mod rewrite来重写

settings.php?id=1 

我一直试图用教程自己做,但我就是做不好

任何帮助都将不胜感激

我想使用mod rewrite将
settings.php?id=1
重写为
/1/settings.xml

这意味着:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^id=([0-9]+)$
RewriteRule ^([a-z_]+)\.php$ /%1/$1.xml [L]
所以当有人请求
http://domain.com/settings.php?id=1
,他们可以从
/1/settings.xml
获得内容,但如果是相反的方式:

RewriteEngine On
RewriteRule ^([0-9]+)/([a-z]+)\.xml /settings.php?id=1 [L,QSA]
所以请求
http://domain.com/1/settings.xml
将在
/settings.php?id=1


因为“将
重写为
”的含义永远都不清楚。

编辑了您的标记,因为它与PHP无关,为什么不直接从PHP中的$get获取id参数,然后形成相应的xml url并重定向。如果这个解决方案足够,请让我知道,我将在RewriteBase/RewriteRule^settings.php?id=(*)$1/settings.xml[L]RewriteBase上发布codeRewriteEngine可能不是必需的though@TommyArnold对不起,错卖了
RewriteEngine
谢谢,我需要通过访问url/5/settings.xml加载settings.php?id=5的内容,但是您发布的第一个代码块给出了404error@TommyArnold如果您想获得
settings.php?id=5的内容,那么您需要第二条规则。
RewriteEngine On
RewriteRule ^([0-9]+)/([a-z]+)\.xml /settings.php?id=1 [L,QSA]