【发布时间】:2010-11-04 08:09:21
【问题描述】:
我有一个名为 test 的文件夹,位于 www.mydomain.com/abc/files/test。我需要从www.mydomain.com/abc/files/test/test.php?id=15&key=some-text123更改网址
to www.mydomain.com/abc/files/test/15/some-text123 这类似于 SO url。
我尝试使用以下代码在 .htaccess 文件中进行跟踪
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^test/([0-9]+)/([A-Za-z0-9-]+)?$ test/test.php?id=$1&key=$2 [R]
它将我重定向到www.mydomain.com/test/test.php?id=15&key=some-text-123
但它没有用,因为我从某个地方复制了格式。我不确定 ^ 是否也应该包含 www 部分,或者它只是假设 / 作为根?
“id”部分对我很重要。我还将以下内容视为有效网址。
www.mydomain.com/abc/files/test/15 (without /some-text123")
www.mydomain.com/abc/files/test/15/ (without /some-text123 but having / )
你能帮我写出正确的规则吗?
我怎样才能使它不必硬编码“abc/files/”?
它不应该影响我网站的任何其他网址(除了“测试”文件夹。)
URL 应该保持不变 (/files/test/15 etc) 而不是更改为 "?id=15&key=some-text123"
非常感谢。
【问题讨论】:
标签: php url-rewriting friendly-url