0

私のウェブサイトの構造は次のとおりです。

index.php
contact/
    index.php
news/
    index.php
admin/
    index.php
    [...]
vip/
    index.php
    [...]

私の問題は、フォルダー名 (連絡先、ニュース、vip、管理者) を含むリダイレクトが必要ないことです。

www.site.com/your_user_name のようなユーザー名を入力し、.htaccess が function.php ファイルにリダイレクトして、サイトに余分なものを表示する有効なユーザー名であるかどうかを確認するソリューションを実行したいと考えています。

手伝って頂けますか?

4

1 に答える 1

0

問題が何であるかは完全には明らかではありませんが、書き換え条件はその後の書き換えルールにのみ適用されるため、ファイルは次のようになります。

RewriteEngine On


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^vip/$ vip/index.php [QSA]


RewriteRule ^admin/$ admin/index.php [QSA]


RewriteRule ^([^-]+)/$ /initial/function.php?stat=$1&%{QUERY_STRING} [QSA]

おそらく、すべての書き換えルールの前に条件を設定する必要があります。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^vip/$ vip/index.php [QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^admin/$ admin/index.php [QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^-]+)/$ /initial/function.php?stat=$1 [QSA]

編集:あなたのコメントに基づいて、あなたはただ必要なようです:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^\w+$ /function.php?user_name=$1 [QSA]    // if a username can only contain a-z, 0-9 and _
于 2013-01-14T16:32:27.190 に答える