2013-02-23 80 views
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] 

索引頁的第二次重寫不起作用,但是,第一次爲配置文件頁起作用。.htaccess兩頁重寫

這是我在我的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> 
} 
} 
?> 

那麼,什麼是索引頁的問題。我如何重寫他們兩個?

+0

傳入的URL應該到'profile.php'和那些應該到'index.php'之間的區別是什麼? – 2013-02-23 10:03:22

回答

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用於其他頁面。

+0

+1雖然它仍然缺少關於'/ profile'頁面實名的OP信息。 – 2013-02-23 10:06:50