0
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ /me/profile.php?username=$1 [QSA,L]

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ /me/index.php?page=$1 [QSA,L]

インデックス ページの 2 回目の書き換えは機能しませんが、プロファイル ページの 1 回目は機能します。

これは、index.php で使用したものです。

    if(isset($_GET['page']) === true && empty($_GET['page']) === false){

        if($_GET['page'] == 'Home'){
?>
<div id = "contents">
Works!
</div>
<?php 
}else{
<div id = "contents">
Error page!
</div>
}
}
?>

では、インデックスページの問題は何ですか。両方を書き直すにはどうすればよいですか?

4

1 に答える 1

1

問題は、URL で何かをキャッチして profile.php ページにリダイレクトし、index.php 行にアクセスできないことです。次のようなことを試してください:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^/profile/(.*)$ /me/profile.php?username=$1 [QSA,L]
RewriteRule ^(.*)$ /me/index.php?page=$1 [QSA,L]

こうすることで、プロフィール ページをインデックス ページと区別し、正しく書き換えることができます。例えば。ユーザーページは Domain.com/profile/jimjimmy1995、その他のページは domain.com/about です。

于 2013-02-23T08:35:54.813 に答える