.htaccess中的RewriteRule显示地址栏中重写的url

时间:2012-01-23 18:45:49

标签: apache .htaccess mod-rewrite

道歉,如果之前有人问过,但我已经搜遍了所有人的答案,但我找不到满意的解决方案。

我的httpdocs中有以下.htaccess文件:

Options +FollowSymlinks
RewriteEngine on

RewriteBase /

RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/users/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.+)$ users/$1 [L]

这正确地将“www.example.com/joebloggs”映射到“www.example.com/users/jobloggs”,并正确显示相应的索引页。

问题是“www.example.com/users/jobloggs”显示在地址栏中,而不是原始(短)网址。真的很感激任何帮助。

1 个答案:

答案 0 :(得分:0)

如果您说它正在加载DirectoryIndex文件(例如index.html / index.php),那么我会说RewriteRule中没有尾随斜杠替代是问题。尝试类似:

RewriteRule ^(.+?)/?$ users/$1/ [L]
相关问题