2012-03-08 9 views
1

読み取り期間を含めるために書き換えルールを追加する必要はありますか?私はこれを持っている場合、それは正常に動作期間を含むmod書き換えルール

RewriteEngine on 
RewriteRule ^([a-zA-Z0-9_-]+)$ /user/public/index.php?username=$1 [L] 

私は現在、私の.htaccessにこれを持って

http://mydomain.com/user/public/usernamehere

をしかし、私はこれを持っている場合、私は404を取得します:

http://mydomain.com/user/public/usernametwo.net

ありがとうございました。

答えて

3

許可された入力のセットにポイントを追加します。

<IfModule mod_rewrite.c> 

RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-l 
RewriteRule ^([a-zA-Z0-9\._-]+)$ /user/public/index.php?username=$1 [L] 

</IfModule> 

...これを試してみてください...

RewriteRule ^user/public/([a-zA-Z0-9\._-]+)$ /user/public/index.php?username=$1 [L] 
+0

おかげで私はあなたのページのURL構造を知らないが、書き換えのより良い方法は次のようになります。 ** **でリライトを囲む目的は何ですか? – xiomai

+1

mod_rewrite拡張モジュールがApacheインストールの一部である場合、書き換えは一部にすぎません。それ以外の場合は、エラー500になります。 –

+0

mod_rewriteを使用してWebサイトを開発する場合、mod_rewriteがApacheインストールの一部にならないのはなぜですか? – Kaz