2013-02-23 74 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