使用mod_rewrite在PHP中重写URL

时间:2010-03-17 08:59:37

标签: apache .htaccess mod-rewrite url-rewriting

Web服务器是Apache。我想重写URL,以便用户不知道实际目录。例如: 原始网址:

http://www.example.com/en/piecework/piecework.php?piecework_id=11

预期网址:

http://piecework.example.com/en/11

如何使用mod_rewrite实现目标?

3 个答案:

答案 0 :(得分:0)

您需要定义重写规则(应该与此类似):

RewriteRule ^/(.*)/en/piecework/(.*)piecework_id=([0-9]+)(.*) piecework.mydomainname.com/en/$3

并将其放在您网站主文件夹下的.htaccess文件中

此处重写规则的完整说明:http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

编辑

在我的统治中犯了一个错误,希望我纠正了它。

答案 1 :(得分:0)

我在这里发现了一个写得很好的速成课程:
http://articles.sitepoint.com/article/guide-url-rewriting

您需要在.htaccess中指定规则(在您的网站根目录中)。

答案 2 :(得分:0)

我会建议以下规则:

RewriteCond %{HTTP_HOST} ^(?!www)([^.]+)\.mydomainname\.com$ [NC]
RewriteRule ^(w+)/(\d+)$ /$1/%1/%1.php?%1_id=$2 [L]