如何使用htaccess文件重写url

时间:2017-04-04 23:56:18

标签: apache .htaccess mod-rewrite

我已成功重写了网址的第一部分。所以,现在不是说mysite / new_sect.php,而是说mysite.com/new

这是我使用的代码:

RewriteRule  ^new/?$  new_sect.php  [NC,L]    

现在,我有另一个我正在尝试重写的网址,但它无效,我得到了一个404页面。

这是网址:new_sect.php?pageName=about

这就是我想要的名字:new / about

RewriteRule    ^new/([A-Za-z0-9-]+)/?$    new_sect.php?pageName=$1    [NC,L]  

然后我也有这个我要重写的网址,但是像上面一样,我得到了同样的错误,这也是一个404.

这是网址:new_sect.php?pageName=about&showSubCategory=media

这就是我想要的名字:new / about / media

RewriteRule    ^new/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$    new_sect.php?pageName=$1&showSubCategory=$2     [NC,L]  

我尝试过更改代码,但它似乎无法正常工作。请帮忙。

1 个答案:

答案 0 :(得分:0)

对于第一个网址,您需要使用以下规则:

RewriteRule ^new/([^/]*)$ /new_sect.php?pageName=$1 [L]

离开你:www.example.com/new/about

对于您的第二个网址,您需要使用以下规则:

RewriteRule ^new/([^/]*)/([^/]*)$ /new_sect.php?pageName=$1&showSubCategory=$2 [L]

离开你:www.example.com/new/about/media

确保在测试之前清除缓存。