域名/URL 屏蔽

发布于 2024-10-11 16:44:48 字数 198 浏览 6 评论 0原文

我有一个网站,它将一些 GET 变量传递到 PHP 中的不同页面。我的问题是,现在我有一个带有变量的网址,即index.php?category=categoryname,这不是很容易记住。

有什么方法可以将 URL 更改为 /categoryname 之类的内容,而无需复制页面并存储在文件夹中?但还允许用户输入 /categoryname 并重定向到正确的页面?

I have a website that passes some GET variables to different pages in PHP. My issue is that now I have a url with variables i.e. index.php?category=categoryname and that's not very memorable.

Is there any way I can change the URL to something like /categoryname instead without duplicating the page and storing in folders? But also allow users to type in /categoryname and be redirected to the correct page?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

独自←快乐 2024-10-18 16:44:48

.htaccess Apache mod_rewrite,几乎每个专业的动态网站都使用这种方法(比如stackoverflow)。

该方法在这篇文章中得到了充分的解释,比我在这个答案中解释的要好得多盒子。

.htaccess Apache mod_rewrite, almost every professional dynamic website uses this method (like stackoverflow).

The method is fully explained in this article far better then I could ever explain it in this answer box.

﹏半生如梦愿梦如真 2024-10-18 16:44:48

您应该考虑在 .htaccess 文件中编写一些 apache Mod_Rewrite 规则。

You should look into writing some apache Mod_Rewrite rules in a .htaccess file.

墨洒年华 2024-10-18 16:44:48

此处讨论了该解决方案:

这是由 apache 的重写模块完成的,它处理常规的
表达式。你必须制定规则
像这样在你的 .htaccess 文件中
您网站的根目录:

RewriteRule ^cat/([0-9]+)$
/index.php?category=$1

^ 表示 url 之后的开头
www.example.com/ $ 表示结束
页面。

www.example.com/cat/123

将被服务器转换为:

www.example.com/index.php?category

=123

在 PHP 中,您使用普通的 $_GET['id']
多变的。重写模块必须是
由apache启用...这主要是
用于制作url格式
独立于服务器端
脚本语言,因此 .php 中
url 不符合逻辑。这就是为什么我
将其更改为产品/。 .htaccess
开始于

RewriteEngine 打开选项
+FollowSymLinks RewriteBase / 这里是所有重写规则.. ...

The solution is discussed here:

this is done by the rewrite module of apache and this handles regular
expressions. You have to put a rule
like this in your .htaccess file on
the root of your website:

RewriteRule ^cat/([0-9]+)$
/index.php?category=$1

^ means the start of the url after
www.example.com/ $ means the end of
the page.

www.example.com/cat/123

will be converted by the server to:

www.example.com/index.php?category=123

In PHP you use the normal $_GET['id']
variable. The rewrite module must be
enabled by apache... This is mostly
used to make the url format
independent of the serverside
scripting language so the .php in the
url is not logical. Thats why i
changed it to product/ . The .htaccess
starts with

RewriteEngine On Options
+FollowSymLinks RewriteBase / Here all the rewrite rules.. ...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文