【问题标题】:How to hide the name of the php file in url如何在url中隐藏php文件的名称
【发布时间】:2014-05-16 09:22:07
【问题描述】:

所以我有这个博客,其中有两个 php 文件,其中一个用作我所有博客文章的索引

www.adityasastry.in/view.php?cat=1

cat 值代表category 我有三个类别,编程、嵌入式系统和咆哮。

我想更改此内容,例如 www.adityasastry.in/1 应转换为 www.adityasastry.in/view.php?cat=1

和另一个在同一目录中(如果我愿意,我可以将它移动到不同的目录),这让我可以查看特定的博客文章。

www.adityasastry.in/viewer.php?cno=32

我已用编号为我的每篇博文编制索引。

理想情况下,如果 32 是属于 1 个类别的博客文章,我希望将其翻译为 www.adityasastry.in/1/32。

请不要问我做了什么,因为我什至不确定这是否可以在共享主机上单独使用 PHP 完成!我只是选择了几个我认为与此相关的标签。

【问题讨论】:

标签: php url-rewriting url-routing


【解决方案1】:

http://code.tutsplus.com/tutorials/an-in-depth-guide-to-mod_rewrite-for-apache--net-6708 - 这是一个很好的教程。

基本上-

Find the httpd.conf 文件用于您的服务器并通过删除 # 取消注释以下行:

# LoadModule rewrite_module modules/mod\_rewrite.so 

创建一个名为 .htaccess(无名称,扩展名为 .htaccess)的文件并在您选择的代码编辑器中打开它并输入以下内容:

RewriteEngine on

这显然启用了重写引擎。从那里您可以通过编写 RewriteRule 后跟 regular expression 与您尝试捕获的 URL 匹配,然后是您想要“重定向”到的 URL 来进行重写声明,使用 $1, $2, ... , $n 等匹配正则表达式的括号部分,分别对应它们出现在其中的顺序。

RewriteEngine on

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

将该文件保存在您网站的根目录中。将采用http://adityasastry.in/view/666 并“重定向”到http://adityasastry.in/view.php?cat=666。我建议阅读我上面提到的文章,因为它更详细地介绍了这种做法。

【讨论】:

    【解决方案2】:

    如果我理解正确,你可以把它放在你的 htaccess 文件中。 (假设是 Apache)

    DirectoryIndex view.php

    看到这个Q&A for reference

    如果您的网站自动转到 index.php,那么您可以跳过此步骤,然后在 index.php 中使用条件包含加载您想要的任何页面/文件。

    我所说的并不是要对重写的答案提出异议,只是提供替代方案。

    【讨论】:

      猜你喜欢
      • 2020-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-23
      相关资源
      最近更新 更多