0

実は私の質問は直接理解できませんが、次の例から理解できると思います

ここワードプレスでは、htmlまたはphpページページまたはフォルダー名ガジェットはサーバーでは使用できませんが、ユーザーがこのリンクにアクセスすると、htmlとして開きます

私は自分のウェブサイトを作成し、そこにログインしてwww.website.com/profile.phpからプロファイルにアクセスしますが、すべてのユーザーにFacebookのようなwww.website.com/useridのようなリンクを提供したいと思います。


だから私はこれらのURLを開く方法だけを知りたいです私はウェブサイト全体を開発しますが私は/profile.phpだけを/usernameに更新したいです

読んで答えてくれてありがとう

4

4 に答える 4

1

mod_rewrite、apache=>htaccessを有効にします

于 2013-03-25T23:28:46.053 に答える
1

このリンクで私はこの問題についてグーグルした後に書き、解決策を見つけまし たこのチュートリアルを見るにはここをクリックしてから次の手順を読んでください

0)質問

私はあなたにこのように尋ねようとします:

Facebookのプロフィールwww.facebook.com/kaila.piyushのようなページを開きたい

URLからIDを取得し、それをprofile.phpファイルに解析して、データベースからfeatchデータを返し、ユーザーを自分のプロファイルに表示します

通常、Webサイトを開発すると、そのリンクはwww.website.com/profile.php?id=usernameexample.com/weblog/index.php?y=2000&m=11&d=23&id=5678のようになります。

現在、リライトではなく新しいスタイルで更新しています。パーマリンクとしてwww.website.com/usernameまたはexample.com/weblog/2000/11/23/5678を使用しています。

http://example.com/profile/userid (get a profile by the ID) 
http://example.com/profile/username (get a profile by the username) 
http://example.com/myprofile (get the profile of the currently logged-in user)

1).htaccess

ルートフォルダに.htaccessファイルを作成するか、既存のファイルを更新します。

Options +FollowSymLinks
# Turn on the RewriteEngine
RewriteEngine On
#  Rules
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php

それは何をしますか?

リクエストが実際のディレクトリまたはファイル(サーバー上に存在するもの)に対するものである場合、index.phpは提供されません。そうでない場合、すべてのURLがindex.phpにリダイレクトされます。

2)index.php

ここで、トリガーするアクションを知りたいので、URLを読み取る必要があります。

index.phpで:

// index.php    

// This is necessary when index.php is not in the root folder, but in some subfolder...
// We compare $requestURL and $scriptName to remove the inappropriate values
$requestURI = explode(‘/’, $_SERVER[‘REQUEST_URI’]);
$scriptName = explode(‘/’,$_SERVER[‘SCRIPT_NAME’]);

for ($i= 0; $i < sizeof($scriptName); $i++)
{
    if ($requestURI[$i] == $scriptName[$i])
    {
        unset($requestURI[$i]);
    }
}

$command = array_values($requestURI);
With the url http://example.com/profile/19837, $command would contain :

$command = array(
    [0] => 'profile',
    [1] => 19837,
    [2] => ,
)
Now, we have to dispatch the URLs. We add this in the index.php :

// index.php

require_once("profile.php"); // We need this file
switch($command[0])
{
    case ‘profile’ :
        // We run the profile function from the profile.php file.
        profile($command([1]);
        break;
    case ‘myprofile’ :
        // We run the myProfile function from the profile.php file.
        myProfile();
        break;
    default:
        // Wrong page ! You could also redirect to your custom 404 page.
        echo "404 Error : wrong page.";
        break;
}

2)profile.php

これで、profile.phpファイルに次のようなものが含まれるはずです。

// profile.php

function profile($chars)
{
    // We check if $chars is an Integer (ie. an ID) or a String (ie. a potential username)

    if (is_int($chars)) {
        $id = $chars;
        // Do the SQL to get the $user from his ID
        // ........
    } else {
        $username = mysqli_real_escape_string($char);
        // Do the SQL to get the $user from his username
        // ...........
    }

    // Render your view with the $user variable
    // .........
}

function myProfile()
{
    // Get the currently logged-in user ID from the session :
    $id = ....

    // Run the above function :
    profile($id);
}
于 2013-03-26T08:33:16.507 に答える
0

各ユーザーが独自のサブサイトを持っているWordPressサイトが必要な場合は、BuddyPressを確認する必要があります。これはWordPressソーシャルネットワークプラグインです。

于 2013-03-25T23:32:17.243 に答える
0

クリーンURLについて質問されていると思いますか?

あなたはこれをしたくないhttp://mysite.com/profile.php?id=foo

しかし、あなたはこれが欲しいhttp://mysite.com/foo

ユーザー名(この場合は「foo」)をスクリプトに渡すと、それを使って何かを行うことができます。

@godesignは、.htaccessファイルでmod_rewriteを有効にする必要があることを通知することで正しく理解しました。それを使ってできる面白いことがたくさんあるので、それと正規表現も読んでおく必要があります。

これは私の.htaccessファイルがどのように見えるかです(例のために変更されました):

RewriteEngine On
RewriteRule ^([a-z]+)$ profile.php?id=$1 [L]

これは、正規表現(^([a-z]+)$ビット)に一致するものをすべて取り、それを$1変数に入れます。

続きを読む:

http://wettone.com/code/clean-urls

http://corz.org/serv/tricks/htaccess2.php

http://www.branded3.com/blogs/htaccess-mod_rewrite-ultimate-guide/

于 2013-03-25T23:47:38.597 に答える