使用多个子文件夹重定向URLS

时间:2015-09-23 20:36:58

标签: php .htaccess

我的网站有扩展名为.htm的网页和像about.htm这样的“真实”文件。 因此,页面的网址格式始终为http://www.whatever.com/about.htm

这很有效,但搜索引擎优化的人希望能够聪明地制作格式为http://www.whatever.com/cool-website/awesome-content/about.htm的URLS。

我已经在PHP中找到了如何剪切URL,从而在数据库中找到正确的页面。

所以,我要做的是将所有请求重定向到ROOT / index.php,然后在那里“切断”URL以找到所需的.htm,从而提供正确的页面。

如果没有子文件夹,我可以使用它。 但是,只要URL包含'/ cool-website / awesome-content /'等子文件夹,我就会收到404错误。

我想我需要某种类型的HTACCESS条目,但是已经尝试了加载但没有快乐。

真的很感激一些建议。 感谢

1 个答案:

答案 0 :(得分:1)

大多数PHP框架都告诉你如何做到这一点,它被称为前端控制器。

查看this Zend Framework doc的顶部;它解释了您需要放入项目根目录的.htaccess文件夹中。

RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css|html)$ index.php

OR(首选)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

从那里,您可以在index.php中进行切片和切块。

相关问题