php - 使用 .htaccess 文件获得好看的 url

标签 php apache .htaccess url mod-rewrite

我想做的是让我的网站的网址对用户来说看起来更漂亮。
例如,我在 a href 标记中的 index.php 文件中有此链接:

index.php?v=class&id=5

我希望用户在地址栏中看到:

www.mysite.com/class/5

我尝试过使用此代码:

RewriteRule /([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?v=$1&id=$2

但我发现它的作用恰恰相反。它使好看的网址变成了糟糕的网址。它将采用www.mysite.com/class/5并显示:www.mysite.com/index.php?v=class&id=5。我该怎么办?

最佳答案

你就快到了。

不要在 RewriteRule 中使用 R。 R 是外部重定向(它告诉浏览器进行重定向,因此 URL 会发生变化)。相反,删除 R 来执行内部重定向,这样 Apache 仍然可以正常解析查询字符串,但用户会看到漂亮的 URL(该 URL 在浏览器中不会更改)。

关于php - 使用 .htaccess 文件获得好看的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11693824/

相关文章:

python - 在 Apache2 中执行 Python 脚本

Apache 代理 ssl 和非 ssl

php - Openshift 将 wp-admin 重定向到 https

python - 对于 Python http.server.HTTPServer,是否有 RewriteRule/.htaccess 的替代方案?

javascript - URL 重写和获取参数未按预期工作

php - stackoverflow 的 openid for PHP 实现

php - Doctrine 不创建自动 UUID

php - mysql - 根据 ID 和 DATE 从一个表中获取一行,如果不显示空值,则在另一个表中获取多行

node.js - 如何通过apache连接 Node 服务器?

php - 如何取消设置全局变量。