【问题标题】:mod_rewrite url with $_GET parameter带有 $_GET 参数的 mod_rewrite url
【发布时间】:2018-01-04 09:11:50
【问题描述】:

老实说,我看不出 mod_rewrite 哪里出了问题。我想建立一个基本的社交网络,但我希望用户个人资料 URL 看起来像子域,例如“www.mysite.com/user/fred”而不是“www.mysite.com/user?u=fred” .我的 .htaccess 页面如下所示:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L,QSA]
RewriteRule    ^user/([A-Za-z]+)/(0-9]+)/?    user?u=$1     [L,QSA]

但是导航到 www.mysite.com/user/fred 给我一个 404 错误。我已经从不同的教程网站和 stackoverflow 问题中尝试了一些不同的方法,但它们都不起作用。我知道 mod_rewrite 肯定安装在我的服务器上,因为我检查了 php_info() 并且正常 URL 的重写规则工作正常(“www.mysite.com/browse”而不是“www.mysite.com/browse.php” )。

【问题讨论】:

    标签: php apache .htaccess mod-rewrite


    【解决方案1】:

    尝试将您的第 3 行和第 4 行替换为:

    RewriteRule ^user/(.*) user.php?u=$1 [QSA]
    RewriteRule ^([^\.]+)$ $1.php [NC,L]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-03
      • 2014-08-17
      • 2011-03-14
      • 2017-04-12
      • 1970-01-01
      • 2012-09-06
      • 2011-09-30
      相关资源
      最近更新 更多