在我的框架中,主页是
http://localhost:8585/web1/dashboard
我想将主页的网址更改为
http://localhost:8585/web1/
我已经尝试了RewriteRule ^dashboard(.*)$ $1
和RewriteRule ^(index)$ /dashboard [L]
,但它没有用。
答案 0 :(得分:1)
让我们深入了解您提供的规则!
RewriteRule ^dashboard(.*)$ $1
查看(.*)
点的含义是它可以是任何字符(但只有一个)。所以.*
意味着它可以是很多角色。这通常用于捕获整个请求的URL,而不使用域。最后的$
意味着主机以请求的URL结束(记住;没有域的那个)因此没有任何意义。如何在301重定向中使用这些规则:
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
在此示例中,我们重定向任何正在访问我们服务器的流量,捕获请求的网址并将其重定向到example.com,并将捕获的网址作为参数传递给$1
。
RewriteRule ^(index)$ /dashboard
我可以通过第二次重写网址看到你要去哪里。尝试捕获索引组并将其重定向到仪表板。本身是描述它但是错误实现的有效方式。根据我们的第一个解释,(index)$
组声明请求的网址必须为index
,否则此规则将无法满足。所以..这意味着它永远不会满足,因为网址永远不会只是index
。
你需要做什么: 如果您只想将仪表板页面重定向到web1 /,则使用如下规则:
RewriteRule ^web1/dashboard/?$ web1/ [NC,L]
此规则适用于重写" http://localhost/web1/dashboard"到" http://localhost/web1/"。但是,如果您在仪表板后面有需要重定向的页面,则可以应用此规则:
RewriteRule ^web1/dashboard/(.*)$ web1/$1 [NC,L]
你能发现差异吗? ; - )
一些消息来源: