【发布时间】:2014-11-21 20:35:15
【问题描述】:
这可能是一个非常简单的问题。我只是有一个简单的干净 URL 类型的设置,所以 www.website.com/articles/music 会将其重写为 index.php?cat=articles&subcat=music 或其他什么,这只是一个示例。但当然,如果它是一个文件请求(例如website.com/images/icons/music.png),它会首先检查一个有效的文件。这很容易,网上有很多使用 .htaccess 和重写规则的教程,它们给了我类似的东西
RewriteEngine On
# Check for existing files first
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Set base
RewriteBase /
# Rewrite rules not shown but would be below
我想要做的最后一个条件是它还检查给定的 URL 文件夹路径是否存在并且其中是否有 index.php 或 index.html。例如。继续第一个示例,检查以确保不存在 website.com/articles/music/index.html 或 index.php,如果是,则重定向到它而不是重写规则。
就像我说的可能很简单,但我不擅长 htaccess 的东西,因为我很少使用它,而且这是一个我找不到答案的不规则问题。并不是说它们可能不存在,而是我尝试使用的措辞没有弹出任何内容。谢谢。
【问题讨论】:
标签: regex apache .htaccess mod-rewrite clean-urls