【发布时间】:2013-04-12 03:07:22
【问题描述】:
我们想为我们的网站创建干净的 URL。我已经搜索了如何做到这一点,并且我找到了一个代码 sn-p,但是它不符合我的要求。在这里,我将解释我们基本上想要什么。
这是基本网站的 URL:http://www.test.com
我们有一个“页面”菜单,其中列出了用户可以看到的特定页面。如下所示:http://www.test.com/pages.php
我们基本上希望当有人访问这个 /pages.php 时,它应该将他们重定向到 /pages(或完整的 URL:test.com/pages ) 或不重定向,只显示未找到的页面。
它还应该适用于以下任何可能的配置:
- /页
- /page/
- /page.php
我查看了 Stackowerflow 的系统,它的工作方式符合我们的实际需要。所以每次我都在看:
- stackoverflow.com/questions
- stackoverflow.com/questions/
- stackoverflow.com/questions.php - 显示页面未找到站点
这基本上是我需要的。我已经尝试过这段代码,但它不能完全满足我的需要:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ /$1.php [L,QSA]
如果有人能清楚地解释如何实现这一点,我会很高兴。另外,如果您发现此帖子重复,请将 EXACT 帖子链接给我,因为我一直在寻找这个确切的问题,但没有找到任何答案。
谢谢
【问题讨论】:
-
我已经检查了这些,他们专注于如何从这样的 URL 生成干净的 URL:test.com/pages.php?id=123 但是,您有任何解决方案可以简单地将 pages.php 转换为 /pages 吗?
标签: php apache mod-rewrite