【问题标题】:How to make extension-less url for a PHP based site?如何为基于 PHP 的网站制作无扩展名 url?
【发布时间】:2011-01-26 20:58:07
【问题描述】:

我必须将每个文件放在不同的文件夹中吗?

喜欢:

about-us/about-us.php
profile/profile.php

等等

或者有没有其他的自动解决方案。

我要转换

http://sitename.com/about-us/about-us.php

http://sitename.com/about-us

【问题讨论】:

标签: php url


【解决方案1】:

你想要pretty URL rewriting

那篇文章中的一个 Apache .htaccess 示例:

  • 漂亮的网址:/browse/animals-24/cats-76.html

  • 难看的网址:/browse.php?category=24&subcategory=76

  • .htaccess:

    Options +FollowSymLinks
    RewriteEngine On
    RewriteRule ^browse/[A-Z0-9_-]+-([0-9]+)/[A-Z0-9_-]+-([0-9]+)\.html$ browse.php?category
    

【讨论】:

  • 我想将sitename.com/about-us/about-us.php 转换为sitename.com/about-us 而不是about-us.html
  • @jitendra:你为什么不先阅读并理解页面,然后你就会知道如何做你想做的事。
  • @D.Tate 该站点已关闭,因此我已链接到 archive.org 的缓存版本
【解决方案2】:

如果您有一个名为about-us 的目录,那么您可以简单地在该目录中创建一个 index.php 文件,默认情况下,您的 .htaccess 文件应该将用户重定向到正确的页面。

因此,访问 example.com/about-us/ 会将用户带到与 about-us.php 相同的页面。做一些关于 301 重定向的研究会让你受益。

http://www.tamingthebeast.net/articles3/spiders-301-redirect.htm

基本上,当 Googlebot 抓取您的网站时,您最不想让 Google 找到该页面的两个副本,一个被列为 about-us/,一个被列为 about-us/about-us.php。重复的内容很糟糕,针对搜索引擎优化您的网站其实一点也不难。

假设您的网站上有一个拥有 1000 名成员的排行榜页面。与其让 Google 查找所有的 leaderboard.php?user=Whatever,不如阻止该页面被 Google 访问,否则您将在他们的搜索引擎上导致数百个不需要的存档页面。

您可能还想确保您的网站可以通过 www.yourwebsite.com 或仅通过 yourwebsite.com 访问,但不能同时通过两者(不会被 301 重定向)。

希望对您有所帮助。编程愉快!

编辑:如果您尝试将 about-us.php 文件重命名为 index.php,这将是您的快速解决方案。根据您的 .htaccess 配置,我敢打赌这将是您轻松解决的问题。

【讨论】:

    猜你喜欢
    • 2023-03-24
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    • 2011-07-07
    • 2013-05-22
    • 2017-03-07
    相关资源
    最近更新 更多