0

我正在尝试使用 mod_rewrite 将所有不存在的文件夹路由到特定的 PHP 脚本,但我无法处理它。

这是场景,我有一些文件夹,如 /images、/gallery、/js 等。其中一些在目录下有自己的 .htaccess 文件和 php 脚本......

我要做的是,在不阻止这些文件夹和它们自己的规则的情况下将所有其他请求重定向到 /subject/content.php 文件。

我尝试过这样的事情,但不幸的是不起作用

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9]+)/(.*)-(.*).html /subject/content.php?ID=$2

最后,URL 应该像 /sports/123-how-to-lose-weight.html

我也在为类别页面尝试相同的方法。他们应该像 www.blabla.com/sports --> /subject/category.php?cat=sports

(ps:当根据上层规则请求页面时,我在 RewriteLog 上也看不到任何级别 9 的日志记录)

非常感谢您的帮助 :)

4

1 回答 1

1

你能试试这些吗?

// stop greedy search by "?" while using .*
RewriteRule ^([a-zA-Z0-9]+)/(.*?)-(.*?)\.html /subject/content.php?ID=$2
// or more better regexp, afak \w & \d will wolk too
RewriteRule ^([\w\d-]+)/(\d+)-([\w\d-]+)\.html /subject/content.php?ID=$2
// if not set as RewriteBase /
RewriteRule ^([\w\d-]+)/(\d+)-([\w\d-]+)\.html subject/content.php?ID=$2

但首先:RewriteEngine On。:)

于 2013-01-25T01:26:36.273 回答