【发布时间】:2013-01-02 15:01:37
【问题描述】:
我知道为什么像 youtube、stackoverflow 这样的大型网站在他们的网站上使用这些无扩展文件系统。
我想知道如何在我的网站上做同样的事情?
【问题讨论】:
-
欢迎来到URL rewriting的世界
-
这个问题可能有点太简洁了,但我不明白这不是“一个真正的问题”。
我知道为什么像 youtube、stackoverflow 这样的大型网站在他们的网站上使用这些无扩展文件系统。
我想知道如何在我的网站上做同样的事情?
【问题讨论】:
这与文件系统无关,而是与您看到的 URL 有关。
一个简单的解决方案是使用 .htaccess 将不带扩展名的 URL 映射到您的 PHP 文件。
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
【讨论】:
您可以通过重写 URL 来实现,例如使用 Apache 的 mod_rewrite
【讨论】:
mod_rewrite 重写规则生成器将获取给它的动态 url,并生成正确的语法以放置在 .htaccess 文件中,以允许以可抓取的格式重写 url。 apache 模块“mod_rewrite”(您需要启用该模块)将某种格式的 url 转换为另一种格式,这对于帮助对具有动态内容的站点进行索引非常有用。
Syntax: RewriteRule url-pattern url-new [[flag,...]]
Example: RewriteRule ^/foo/(.*)$ /bar/$1 [R,L]
【讨论】:
对于 apache 服务器,您可以使用具有重写功能的 .htaccess 文件。 SEO friendly URLs (.htaccess) 你可以找到很多 ModRewrite 的教程。
【讨论】: