1

特定のテンプレートをチェックするようにURL書き換えを設定しようとしていますが、テンプレートが存在しない場合はデフォルトのテンプレートを使用してください

したがって、URLがある場合: http ://www.mysite.co.uk/feed/

feed.phpが存在するかどうかを確認し、存在する場合はそれを使用しますが、存在しない場合は、代わりにpage.php?page=feedを使用します。

これは私が現在持っているものです:

Options +FollowSymlinks
RewriteEngine On

RewriteRule ^([^/.]+)/$ $1.php
RewriteRule ^([^/.]+)/$ page.php?page=$1 [L]


ErrorDocument 404 /404.php

feed.phpが存在する場合は正常に機能しますが、存在しない場合は、デフォルトでカスタム404.phpに直接設定され、2番目の書き換えルールがバイパスされます。

ある種のRewriteConditionが必要なことはわかっていますが、それについて十分に理解しておらず、適切な例を見つけることができません。

どんな助けでも大歓迎です!= D

4

2 に答える 2

1

これを試して :

RewriteEngine on
RewriteCond %{REQUEST_URI} /(.*)/
RewriteCond /%1.php !-f
RewriteRule .* /page.php?page=%1
于 2012-12-20T15:56:45.657 に答える
0

ファイルが存在しないかどうかを確認するチェックを追加する必要があります

# serve file if exists
RewriteCond ^([^/.]+).php !-f
RewriteRule ^([^/.]+)/$ page.php?page=$1 [L]

それは直後の最初のルールであるべきですRewriteEngine On

于 2012-12-20T15:51:21.320 に答える