【问题标题】:Replace index.php?p=sites with a name用名称替换 index.php?p=sites
【发布时间】:2015-01-28 02:33:22
【问题描述】:

我正在尝试在 .htaccess 文件中将 index.php?p=sites 替换为名称,例如,而不是

www.sitename.com/index.php?p=help -> www.sitename.com/help/

我还是没有办法。

【问题讨论】:

标签: php .htaccess replace hyperlink


【解决方案1】:

你的 .htaccess 应该是这样的

<IfModule mod_rewrite.c>

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.+)$ index.php?p=$1 [QSA,L]

</IfModule>

PHP 将获得这个链接 www.sitename.com/help/ 作为 www.sitename.com/index.php?p=help 所以你可以得到 p 作为 $_GET['p']

【讨论】:

  • 嘿,非常感谢。我已将代码插入到 .htaccess 文件中,但 www.sitename.com/index.php?p=help 站点无法使用 www.sitename.com/help 调用/ - 我不明白您对 $_GET['p'] 的含义,我认为这就是链接 (www.sitename.com/help/) 不起作用的原因。 ://
  • 重写工作 100%。但是您需要确保您的 .htaccess 文件运行良好。尝试放在 .htaccess 文件的顶部 -> 拒绝所有。这应该会阻止对网站的所有访问
  • 该文件运行良好。但它不起作用..它与您在上面已经写过的$_GET['p'] 有关吗?没看懂。。
  • 不,如果你只需要重写 URL,你可以忽略 $_GET['p']。如果需要,我将描述如何在 PHP 中获取此 var。但似乎你现在不需要它,而且你已经有了工作代码。你只需要重写
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-07
  • 2021-10-17
  • 1970-01-01
  • 2019-05-13
  • 1970-01-01
相关资源
最近更新 更多