2009-07-24 4 views
0

私の現在の.htaccessファイルを書き換えるシンプルなURIの.htaccess

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} . 
RewriteCond %{HTTP_HOST} !^falsebase\.net 
RewriteRule (.*) http://falsebase.net/$1 [R=301,L] 

私は、ユーザーが入力したときに、私は「http://u.falsebase.net/USERNAME」自分のアドレスバーに彼らは「http://falsebase.net/profile.php?name=USERNAME」に向けますこれに上の追加したいです。

これはかなりシンプルですが、私はちょうど.htaccessの経験がなく、このように見える約12の他のスレッドをスキャンした後、私は一貫した答えを得られませんでした。

答えて

0

あなたは内部の書き換えルールではなく、外部へのリダイレクトを使用する必要があります。あなたは、あなたのユーザが/profile.php?name=USERNAMEのような醜いURLを見ることを本当に望んでいない。

ので

RewriteEngine On 
RewriteRule ^/(.+)$ /profile.php?name=$1 

のようなものを使用してみてください。+ユーザ名と一致するパターンです。

あなたのユーザ名は、すべてのaからzまたはA〜Zの文字を知っている場合、例えば、あなたは/ユーザ名としてあなたのURLのユーザ名部分を有するキャッチすることに注意して

RewriteEngine On 
RewriteRule ^/(a-zA-Z)$ /profile.php?name=$1 

ベアを使用して上記の本を引き締めることができすべて可能なURL。あなたは、私が試した

+0

RewriteEngine On RewriteRule ^/user/(.+)$ /profile.php?name=$1 

など使用することになり、その場合には、ユーザー名を入力する

http://www.example.com/user/<username> 

、同様に、特定の名前空間にこれらを置きたいかもしれませんが、これを、それはdoesnのうまくいきません。私は現在のhtaccessファイル(上に示した)に何かを追加しようとしていますが、何かに置き換えません。 htaccessをwww.mydomain.net - > mydomain.netの両方にリダイレクトさせて、mydomain.net/u/USERNAMEが常にmydomain.net/profileというページをロードするように内部リライトを追加します。 php?name = USERNAME、まだmydomain.net/u/USERNAMEをURLとして表示しています。 – RyanMcG

+0

これはしばらくお待ちしていますが、私の.htaccessファイルを読まないホスティングサービスだとわかりました。ご協力いただきありがとうございます! – RyanMcG

0

は、これらのルールを試してみてください。

RewriteCond %{HTTP_HOST} . 
RewriteCond %{HTTP_HOST} !^(u\.)?falsebase\.net 
RewriteRule (.*) http://falsebase.net/$1 [R=301,L] 

RewriteCond %{HTTP_HOST} !^(u\.)?falsebase\.net 
RewriteRule ^[^/]+$ http://falsebase.net/profile.php?name=$0 

または内部リダイレクトが可能な場合:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{HTTP_HOST} !^(u\.)?falsebase\.net 
RewriteRule ^[^/]+$ profile.php?name=$0 
関連する問題