2012-07-29 72 views
0

您好我有类似下面的一些事情,一切完美,直到我尝试添加的“www”,如果它不存在,我得到的东西像下面:重写www和重写目录名

产地:http://domain.net/welcome/

重写:http://www.domain.net//index.php/?request=welcome

php_value register_globals "on" 
RewriteEngine on 


RewriteRule ^(.+)/$ /index.php?request=$1 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$ 
RewriteRule (.*)$ /$1/ [R=301,L] 

RewriteCond %{HTTP_HOST} ^domain.net$ 
RewriteRule (.*) http://www.domain.net/$1 [R=301] 

ErrorDocument 404 /404.php?request=$1 

回答

0

尝试移动你的规则的其余部分上方的重定向规则,并添加[L]标志:

php_value register_globals "on" 
RewriteEngine on 

RewriteCond %{HTTP_HOST} ^domain.net$ 
RewriteRule (.*) http://www.domain.net/$1 [R=301,L] 

RewriteRule ^(.+)/$ /index.php?request=$1 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$ 
RewriteRule (.*)$ /$1/ [R=301,L] 

ErrorDocument 404 /404.php?request=$1 
+0

谢谢你的回复,但我已经试过了,没有喜悦。 – jhodgson4 2012-07-29 20:12:26

+0

@ jhodgson4你现在看到了什么错误? – 2012-07-29 20:24:30

+0

还得到这个:http://www.domain.net//index.php/?request=welcome from url domain.net//index.php/?request=welcome – jhodgson4 2012-07-29 20:34:39