2

私は正常に動作する既存の htaccess を持っています:

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule (.*) /default.php 
DirectoryIndex index.php /default.php 

/test/ で始まるすべての URL が /test/default.php に移動するように、これを変更したいと考えています。

例: http://www.x.com/hello.php -- > http://www.x.com/default.php 例: http://www.x.com/test/hello.php -- > http://www.x.com/test/default.php

4

4 に答える 4

3

基本的に/test/は、式の前に置くだけです。また、ここでは括弧は不要です。

RewriteRule ^/test/ /test/default.php
于 2008-11-27T18:13:59.143 に答える
0
RewriteRule ^/test(/.*)?$ /test/default.php [L]

必要に応じて、$_SERVER グローバル配列内の元の URI にアクセスします。

オリジナルから判断すると、おそらく次のものが必要です。

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^/test(/.*)?$ /test/default.php [L]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ /default.php
于 2009-03-17T18:00:35.800 に答える
0

URL から情報を渡す必要がある場合は、次のように (括弧を使用して) 取得し、default.php ($1 を使用) に送信できます。

RewriteRule ^/test/(.*)$ /test/default.php/$1

http://..../test/foo/bar/ が /test/default.php/foo/bar/ になるようにします。その後、スクリプトは追加情報にアクセスできます。

于 2008-11-27T18:22:40.857 に答える
0

私は使用します:

RewriteCond %{REQUEST_URI} ^/([^/]*/)*
RewriteRule !/default\.php$ %0default.php [L]
于 2009-01-15T14:10:33.317 に答える