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:上位のルールに従ってページをリクエストすると、レベル9のログが記録されたRewriteLogにも何も表示されませんでした)

ご助力ありがとうございます :)

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 に答える