我想结合两个htaccess重写规则:一个处理扩展链接,另一个发送缺失文件到索引页面来处理它们。我分别为他们编写代码,但将两者结合起来很棘手。试图创建一个htaccess文件来处理无扩展文件和丢失的文件
的规则是这样的:
- 如果URI是一个目录,进入它,让其中的索引文件处理。
- 如果URI有扩展名并且文件存在,请转到该文件。
- 如果URI没有扩展名,则添加.php文件,如果存在则转到该文件。
- 对于任何不存在的文件(有或没有扩展名),将其发送到索引文件进行处理。
原因是我有一些静态页面,有些是从数据库动态创建的。
FYI在 “扩展名” 的代码是
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^.]+)/?$ $1.php [L]
和 “重定向到指数” 的代码是
RewriteEngine On
RewriteRule (.*) index.php [PT,QSA]
anubhava和Rijul的代码在我的测试中都能正常工作,所以谢谢你们。我接受anubhava只是因为它是第一次,除非有更多的知识可以指出更好的解决方案。 – Eddystone