-3

我有一个关于 mod_rewrite 的具体问题:

当用户调用时:

www.test.com/p/about

网络服务器应该在内部调用

www.test.com/?p=about

访问网站的子页面。

但在地址栏中它仍然应该说

www.test.com/p/about

这对 mod_rewrite 有可能吗?

我没有解决的解决方案:

  1. 尝试

    RewriteRule ^/?([-a-zA-Z0-9_+]+)$ index.php?p=$1 [L]

错误的效果,因为它只适用于:test.com/about,但我需要 test.com/p/about!

  1. 尝试

    重写规则 ^p/([a-zA-Z]+)$ index.php?p=$1

错误:它重定向正确,但 html 文件上的路径错误:例如。/img/pic.png 现在是 /p/img/pic.png

非常感谢,斯蒂

4

1 回答 1

2

是的,这可以通过 mod_rewrite 实现:

RewriteRule ^p/([a-zA-Z]+)$ index.php?p=$1

或者,更一般地说:

RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+)$ index.php?$1=$2

见:http ://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule

于 2012-04-03T22:55:53.893 回答