【问题标题】:URL Rewriting confusionURL重写混乱
【发布时间】:2014-05-11 23:41:52
【问题描述】:

我的网页具有以下 URL:

localhost/Minecraft-User-Info/player/?user=matthijs110

现在我要localhost/Minecraft-User-Info/player/matthijs110

所以没有?user=matthijs110

我尝试了不同的方法,但它似乎不起作用。 Mod_Rewrite 已启用。

我该怎么做才能让它发挥作用?

【问题讨论】:

标签: php .htaccess friendly-url


【解决方案1】:

试试这个。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^Minecraft-User-Info/player/(.+)$ /Minecraft-User-Info/player/?user=$1 [L]

编辑: 使用它,因为它在子目录中。

RewriteEngine On
RewriteBase /Minecraft-User-Info/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^player/(.+)$ player/?user=$1 [L]

更新以显示我的原始答案,并包含每个用户对 htaccess 所在位置的评论的编辑。

【讨论】:

  • 好的,然后尝试添加 RewriteBase,因为您的 htaccess 文件位于 Minecraft-User-Info 目录中。并尝试这种方式。
【解决方案2】:

试试这个。 Minecraft-User-Info/player/username 重定向到 Minecraft-User-Info/player/index.php?user=username
http://htaccess.madewithlove.be/ 上测试,而不是为它设置我自己的服务器。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^Minecraft-User-Info/player/(.+)$ /Minecraft-User-Info/player/index.php?user=$1 [L]

【讨论】:

    【解决方案3】:

    试试这个

    RewriteRule ^Minecraft-User-Info/player/([a-zA-Z0-9_-]+)\$ index.php?playerId=$1
    

    【讨论】:

    • 那么在 index.php 中你必须为你正在解析的特定 playerId 定义模板吗?
    • 您是否检查过您正在获取玩家 ID index.php? bcz 这样我们通过索引获取请求
    • @GayanChathuranga 这不是他想要的。他没有使用以 html 结尾的友好链接。这对他的要求不起作用。
    猜你喜欢
    • 1970-01-01
    • 2021-07-16
    • 2014-02-18
    • 2011-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多