2011-06-30 7 views
4

私は少し質問があります。 phpやhtaccessを使って、miodominio.com/users.php?idu=xのようなURLを変更することは可能ですか?miodominio.com/usernamePHPを使用したカスタムURL

私はFacebookのスタイルにしたいと思います... "username"はidu = xによって選択されたユーザー名です。

+0

あなたの問題を解決する答えを「受け入れる」のが良いです。これは、選択した回答の横にある「目盛り」をクリックして行うことができます。 –

答えて

4

この問題を解決するには複数の方法がありますが、私のニーズに常に合っています。

あなたのすべてのURLリクエストをindex.phpで最初にガイドし、リクエストをPHPコードで2番目に解決してください。

1).htaccessファイルを使用して、すべてのURLをindex.phpに誘導します。 one way here by the CodeIgniter frameworka more advanced explanation hereが見つかります。 .htaccessに慣れていない方は、まずCodeIgniterの.htaccessガイドをお勧めします。

2)次に、PHPで変数$_SERVERを使用してURLを抽出します。おそらく、$ _SERVER ['REQUEST_URI']の助けを借りれば、あなたはあなたのデータを抽出してそれに提供するために使うことができる '/ username /'を見つけるでしょう。

幸運にも、このメソッドを使用するURL注入に注意してください。

+0

ありがとう、それは非常に有用です! –

1

これにはApacheのmod_rewriteを使用する必要があります。 miodominio.com/usernameをmiodominio.com/users.php?idu=xに翻訳することができます。これについては、Googleで簡単に見つけることができる良いガイドがいくつかあります。

0

あなたはこのmod_rewriteのパターン(.htaccessファイルに追加)を使用しようとすることができます:

RewriteEngine On 
RewriteRule ^([a-zA-Z0-9]+)/$ users.php?idu=$1 
0

をあなたの.htaccess

RewriteEngine on 
RewriteRule ^([a-z0-9_-]+)/?$ /users.php?idu=$1 [NC] 

[NC]あなたは小文字のみ使用することを受け入れた場合、大文字小文字を区別しないそれを作るだろうに、次のrnameは、最後から[NC]を削除します。

0

入れ:あなたのようなあなたの.htaccessファイルでクリーンなURLを記述する必要が

RewriteEngine On 
RewriteRule ^([a-zA-Z0-9_-]+)$ users.php?idu=$1 
RewriteRule ^([a-zA-Z0-9_-]+)/$ users.php?idu=$1 
関連する問題