0

www.amunzi.com/profile.php?username=anyusername の書き換えルールがあります。

> RewriteRule ^([a-zA-Z0-9\._-]+[^.php])$ profile.php?username=$1  

> RewriteRule ^([a-zA-Z0-9\._-]+[^.php])/()$ profile.php?username=$1  

問題なく動作しますが、問題は、ユーザー名が文字「h」で終わると、404 エラーが発生することです。

4

1 に答える 1

0

この正規表現:^([a-zA-Z0-9\._-]+[^.php])$は、{英数字または}の空でない文字列の後に、、、、または._-を除く任意の文字が続くものと一致します。.php

これを試して:

RewriteCond %{REQUEST_URI} !\.php$
RewriteRule ^([a-zA-Z0-9\._-]+)$ profile.php?username=$1

.php 書き換え条件は、 (ソース)で終わらないすべてのURLと一致する必要があり、書き換えルールの正規表現は、{英数字または._-}の空でない文字列と一致します。

于 2012-11-21T08:47:57.833 に答える