mod_rewrite重定向到清理URL

时间:2014-06-08 16:07:39

标签: php .htaccess mod-rewrite

我在.htaccess中使用mod_rewrite来创建以下干净的URL。

的.htaccess

RewriteEngine On
RewriteRule ^home$ /index.php [L]
RewriteRule ^groups$ /groups.php [L]
RewriteRule ^contact$ /contact.php [L]
RewriteRule ^personalise$ /personalise.php [L]
RewriteRule ^terms$ /terms.php [L]

一切运作良好,但我一直在尝试将原始链接重定向到平滑链接。例如,如果有人访问www.mydomain.com,他们将被重定向到www.mydomain.com/home,同样如果他们使用index.php或任何其他网页名称跟踪域名。

我已经看过一些似乎不起作用的不同规则,我对模块不是很熟悉。任何想法将不胜感激!

1 个答案:

答案 0 :(得分:0)

我给你了两条新规则:

  1. 要将index.php重定向到/home
  2. 删除.php分机号
  3. 你的.htaccess:

    RewriteEngine On
    
    RewriteCond %{THE_REQUEST} \s/+index\.php[\s?] [NC]
    RewriteRule ^ /home [R=301,L,NE]
    
    RewriteCond %{THE_REQUEST} \s/+(.*?)\.php[\s?] [NC]
    RewriteRule ^ /%1 [R=301,L,NE]
    
    RewriteRule ^home$ /index.php [L]
    RewriteRule ^groups$ /groups.php [L]
    RewriteRule ^contact$ /contact.php [L]
    RewriteRule ^personalise$ /personalise.php [L]
    RewriteRule ^terms$ /terms.php [L]