2012-11-02 107 views
2

URL变化的.htaccess重写规则我有.htaccess文件:没有在浏览器

Options +FollowSymlinks 
RewriteEngine on 
RewriteBase/

RewriteCond %{HTTP_HOST} ^somedomain.com [NC] 
RewriteRule ^(.*)$ http://www.somedomain.com/$1 [R=301,NC] 

RewriteRule ^r/(.*)$ index.php?rid=$1 [NC] 

但是最后一个条件执行重定向浏览器时,我请求URL像www.somedomain.com/r/123,让我看看URL像www.somedomain.com/index.php?rid=123。但我需要调用这个脚本,而不需要更改URL。

怎么了?

回答

3

您使用的R=301尝试使用L就像下面:

RewriteCond %{HTTP_HOST} ^somedomain.com [L] 
RewriteRule ^(.*)$ http://www.somedomain.com/$1 [L] 

RewriteRule ^r/(.*)$ index.php?rid=$1 [L] 
+0

什么'L'意味着在这种情况下? –

+1

'L' =最后一条规则 'N' =下一个 'QAS' =追加查询字符串 的r [=代码]'=重定向到新的URL 'NC' =不区分大小写 'NE' =不转义输出 'G' =去过(不再存在) 'PT' =通过 'P' =通过 还有更多的露面,但我最常用这些。 –

+0

好的。现在可以工作,但是现在绝对路径是2级/r/123并且在第一级执行脚本index.php,并且例如对于图像的HTML路径有问题。我该如何解决它? –

相关问题