URL结构/page.php与PHP中的/page [重复]
Posted
技术标签:
【中文标题】URL结构/page.php与PHP中的/page [重复]【英文标题】:URL structure /page.php vs. /page in PHP [duplicate] 【发布时间】:2013-03-31 06:37:18 【问题描述】:我为我的网站构建了几个网站。它们都以 .php 结尾。
问题是如果你想查看你必须输入website.com/page.php
而不是website.com/page
的页面。如何在我的所有主页上实现这一点?
有没有一种快速的方法可以做到这一点,或者您是否必须为所有/pages
设置转发到/page.php
?
【问题讨论】:
看一下apache的mod_rewrite组件。你可以有一个重写规则,说所有没有.something
的url 用.php
重写它们。
使用apache的htaccess文件(读取或重写规则)
非常感谢,我会检查这些。几个月来一直困扰着我
如果你的名字是 index.php,你可以去 website.com
有很多关于堆栈溢出的答案只是搜索如何从我在谷歌的文件中删除 .php
【参考方案1】:
在大多数情况下,这是使用 MVC 框架和路由实现的。它的工作方式是您不访问您向用户显示的单个网页的单个 .php 文件。每个请求都通过一个文件,您有一个路由器,您可以在其中定义路由,然后定义该路由将调用的操作控制器,然后您可以从那里选择要向用户显示的视图文件。很难用几句话来解释。无论如何,使用 MVC 你会得到很好的 URL-s,比如 www.example.com/controller/action/param
现在,如果您只想从文件中删除 .php 扩展名,您可以将其放入您的 .htaccess 文件中:
RewriteEngine on
RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME\.php -f
RewriteRule ^(.*)$ $1.php
但是除了隐藏.php之外,它不会有任何好处。
你能做的最好的事情是阅读 MVC 框架、路由和前端控制器模式,然后从那里开始学习,这不仅仅是关于漂亮的 URL-s,还有更多的收获!如果您只想隐藏 .php 扩展名,请使用上面的代码。
希望这会有所帮助!
【讨论】:
【参考方案2】:您将第一个文件保存为 index.php(index.php 是默认页面)并在内部包含或重定向所有其他文件。所以没有理由输入文件名。 你也可以在 .htaccess 上使用 apache 来重写你的文件,但是你必须小心这个。
【讨论】:
以上是关于URL结构/page.php与PHP中的/page [重复]的主要内容,如果未能解决你的问题,请参考以下文章