.htaccess 文件用于漂亮的 url

Posted

技术标签:

【中文标题】.htaccess 文件用于漂亮的 url【英文标题】:.htaccess file for pretty urls 【发布时间】:2012-11-01 07:55:33 【问题描述】:

(这似乎应该是网络上最常见和最容易解决的问题之一,因为大多数网站都有“漂亮”或“干净”的网址。但在我所有的搜索中,它被证明是最常见的问题之一复杂。)

以最简单的形式,我希望能够在 url 栏中输入 example.com/about 并让服务器返回文件 example.com/about.php。事实上,我必须输入或链接到 example.com/about.php,这不是 SEO 或用户友好的。这与复杂的字符串无关——文件可以很容易地成为example.com/about.html

我有一些代码正在尝试与 .htaccess 文件一起使用,但它似乎什么也没做:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %SCRIPT_FILENAME !-d
RewriteCond %SCRIPT_FILENAME !-f
RewriteRule ^([a-z]+)/$ /$1.php

我知道 .htaccess 文件正在运行,因为我设置的 404 重定向(出现在我在这里包含的代码下方的 .htacces 文档中)运行正常,尤其是在我尝试时访问example.com/about,我得到了我的 404 页面。

感谢您的帮助!

【问题讨论】:

【参考方案1】:

您的最后一条规则旨在匹配 http://example.com/about/ 。我想你想要的是

RewriteRule ^([a-z]+)$ $1.php

【讨论】:

哦,对了。我想我知道这一点,但我尝试了多种无效的组合。当我最终得到问题中包含的代码时,我忘记输入带有尾随“/”的网址。目前一切似乎都井井有条。谢谢!

以上是关于.htaccess 文件用于漂亮的 url的主要内容,如果未能解决你的问题,请参考以下文章

HTACCESS RewriteRules 带有漂亮的 SEO 网址(不允许访问物理文件位置)

.htaccess 为子文件夹中的 PHP 页面重写漂亮的 URL?

带有 .htaccess 的漂亮 URL

.htaccess修复漂亮的网址

.htaccess 漂亮的网址,空格?

带有 php 和 .htaccess 的漂亮 url