【发布时间】:2012-04-16 13:58:59
【问题描述】:
这个问题已经困扰我一段时间了。
我创建了一个小型网站引擎,我正在使用 mod_rewrite 告诉引擎要处理哪个页面,SEO 友好链接是一个奖励:)。
这就是今天的工作方式:
地址http://www.example.com/site/page 变成http://www.example.com/engine.php?address=page
但我想要的是: 地址http://www.example.com/page 变成http://www.example.com/engine.php?address=page
如果我为调用 (/site) 创建一个伪目录,一切正常,但是当我尝试从根目录执行相同操作时,奇怪的事情开始发生。
RewriteBase /
RewriteRule ^site/(.*) engine.php?%{QUERY_STRING}&address=$1
工作正常:/site/about/contacts 变为 eninge.php?address=about/contacts
RewriteBase /
RewriteRule ^(.*)$ eninge.php?%{QUERY_STRING}&address=$1
不起作用,由于某种原因 /about/contacts 变成 eninge.php?address=eninge.php
【问题讨论】:
标签: apache mod-rewrite