0
道歉,如果这之前已经问过,但我已经搜索了全部的答案,但我一直没能找到一个令人满意的解决方案。重写规则在.htaccess显示地址栏中重写的URL
我有我的的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”显示在地址栏中,而不是原始(短)网址。非常感谢这方面的帮助。
谢谢!添加斜杠确实解决了地址栏问题。但是,正如你在答案中提到的那样,规则还不完全正确。我现在无法导航到其他页面,因为点击链接会将我带到www.example.com/thelink.html,而不是www.example.com/joebloggs/thelink.html。 – Kev
您的源代码中包含哪些网址?你有'/ thelink.html'吗? – JMM
每个用户目录下都有一个完整的站点。使用我现在拥有的RerwiteRule,如果我浏览到www.example.com/joebloggs,我可以看到索引页,但无法浏览网站。如果我浏览到www.example.com/joebloggs/(注意尾部斜线),它工作正常。 – Kev