【发布时间】:2016-04-28 17:46:36
【问题描述】:
我正在尝试结合两个 htaccess 重写规则:一个处理无扩展名链接,另一个将丢失的文件发送到索引页面以处理它们。我分别为它们提供了工作代码,但将两者结合起来很棘手。
规则是这样的:
- 如果 URI 是一个目录,请转到它并让其中的索引文件处理它。
- 如果 URI 有扩展名并且文件存在,则转到该文件。
- 如果 URI 没有扩展名,请添加 .php 并转到该文件(如果存在)。
- 对于任何不存在的文件(带或不带扩展名),将其发送到索引文件进行处理。
原因是我有一些静态页面和一些从数据库动态创建的。
仅供参考,“无扩展”代码是
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^.]+)/?$ $1.php [L]
并且“重定向到索引”代码是
RewriteEngine On
RewriteRule (.*) index.php [PT,QSA]
【问题讨论】:
标签: php apache .htaccess mod-rewrite url-rewriting