【问题标题】:Rewrite URL with htaccess (php)用 htaccess (php) 重写 URL
【发布时间】:2021-08-20 21:19:07
【问题描述】:

我不是最擅长 .htaccess 的,所以我希望这里有人可以提供帮助。我正在尝试重写 URL 以使其看起来更干净。

原始网址:domain.com/admin/users?userid=<id>
我想要什么:domain.com/admin/users/<id>

我已经尝试过这段代码,但我得到了 404:

RewriteRule ^admin/users/([a-zA-Z0-9_-]+)$ users.php?userid=$1
RewriteRule ^admin/users/([a-zA-Z0-9_-]+)/$ users.php?userid=$1

【问题讨论】:

    标签: regex .htaccess mod-rewrite url-rewriting


    【解决方案1】:

    重写时省略了目录。字符类也可以简化,尾部斜线可以是可选的:

    RewriteRule ^admin/users/([-\w]+)/?$ admin/users.php?userid=$1
    

    可以在这里找到\w 的详细记录,http://regular-expressions.info/shorthand.html。简而言之:

    \w 代表“单词字符”。它总是匹配 ASCII 字符 [A-Za-z0-9_]

    也可以使用regex101,http://regex101.com/r/Px2vTE/1

    【讨论】:

    • 试图写另一个 URL,所以原来的 URL 是 domain.com/admin/users-edit.php?userid= 我想重写它到 domain.com/admin/users //edit 我试过 RewriteRule ^admin/users/([-\w]+)/$/edit? admin/user-edit.php?userid=$1 但这不起作用,有什么想法吗?
    • RewriteRule ^admin/users/([-\w]+)/edit/?$ admin/user-edit.php?userid=$1一起工作
    猜你喜欢
    • 2018-05-31
    • 2019-12-11
    • 2018-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多