mod_rewrite:帮助重写URL

时间:2012-01-10 12:07:58

标签: php regex apache .htaccess mod-rewrite

我有一个网站,我正在尝试重写它的网址。

这很简单,但我不明白该怎么做。

这些页面是下一页:

http://localhost/site/index.php?p = home 等.home是一个参数,重写应该是这样的: http:// localhost / site /home.html

http://localhost/site/section.php?id = someid ,我希望它像 http:// localhost / site / the-name-of-the -section-从数据库-SOMEID

http://localhost/site/product.php?id = someid ,我希望它像 http:// localhost / site / category-name / product-name -SOMEID

我认为这很简单,但我仍然不明白该怎么做。求你帮帮我。

谢谢!

3 个答案:

答案 0 :(得分:2)

将这些行放入您的ROOT .htaccess:

Options +FollowSymLinks -MultiViews
RewriteEngine on

RewriteRule ^site/(home)\.html/?$ site/index.php?p=$1 [L,QSA,NC]

# Assuming hyphen is not in the section name
RewriteRule ^site/.*-(.*)/?$ site/section.php?id=$1 [L,QSA,NC]

# Assuming hyphen is not in the product name
RewriteRule ^site/[^/]*/.*-(.*)/?$ site/product.php?id=$1 [L,QSA,NC]

答案 1 :(得分:0)

此页面可以帮助您.htaccess Url Rewrite Generator。它会为你生成htaccess文件。

答案 2 :(得分:0)

http://net.tutsplus.com/tutorials/other/a-deeper-look-at-mod_rewrite-for-apache/ 使用此链接有一个关于mod_rewrite.al的详细ehplanation我认为anubhava正确的正确的