开发者

Rewrite URL in PHP with mod_rewrite

The web server is Apache. I want to rewrite URL so a user won't know the actual directory. For example: The original URL:

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

Expected URL:

http://piecework.example.com/en/1开发者_JAVA技巧1

How to achieve it with mod_rewrite?


You need to define a rewrite rule (should be similar to this):

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

and put it in a .htaccess file under the main folder of you site

Full description of Rewrite rules here: http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

EDIT

Made a mistake in my rule, hopefully I corrected it.


I found a fairly well written crash course in doing so here:
http://articles.sitepoint.com/article/guide-url-rewriting

You'll need to specify the rules in .htaccess (in your site root).


I would suggest the following rule:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜