duanqiao2225 2016-03-03 15:23
浏览 39
已采纳

.htaccess Mod-Rewrite规则不起作用?

So right now, I have my website rerouting from www.example.com/username to their profile page, but I want it to reroute from www.example.com/users/username. My code currently is this:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.php -f  
RewriteRule ^([^\.]+)$ $1.php [NC]
RewriteCond %{REQUEST_FILENAME} >""
RewriteRule ^([^\.]+)$ profile.php?user=$1 [L]

I have tried using this code, yet it gives me an error saying that the page cannot be found:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.php -f  
RewriteRule ^users/([^\.]+)$ $1.php [NC]
RewriteCond %{REQUEST_FILENAME} >""
RewriteRule ^users/([^\.]+)$ profile.php?user=$1 [L]

I have tried other options, but I cannot seem to get them to work. Will I need an actual /users folder, or should this be redirecting without the use of another folder?

  • 写回答

2条回答 默认 最新

  • dongqiyang3711 2016-03-03 15:35
    关注

    You can use these rules in the given order:

    RewriteEngine on
    
    RewriteRule ^users/([\w-]+)/?$ profile.php?user=$1 [L,QSA,NC]
    
    RewriteCond %{REQUEST_FILENAME}.php -f  
    RewriteRule ^(.+?)/?$ $1.php [L]
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?