如何在url中隐藏php文件的名称

时间:2014-05-16 00:00:35

标签: php url-rewriting url-routing

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

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

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

我想更改像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来实现!我刚刚选择了一些我认为与之相关的标签。

2 个答案:

答案 0 :(得分:0)

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来创建重写声明,该{{3}} {{3}}与您要捕获的网址相匹配,然后是您想要的网址"重定向& #34;使用$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。我建议阅读上面提到的文章,因为它更详细地介绍了这种做法。

答案 1 :(得分:0)

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

DirectoryIndex view.php

请参阅此Q&A for reference

如果您的站点自动转到index.php,那么您可以跳过这个,然后在index.php中加载条件包含的所需页面/文件。

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