我想从
重写我的某个网页的网址http://www.mydomain.com/some/application/page.html
到
http://www.mydomain.com/apply
我相信这段代码会奏效。但是在301重定向中,您经常会看到[R = 301,L]或附加到重写规则末尾的某个版本 - 是执行重定向的最佳方式下面的代码,Google会理解吗?
RewriteEngine On
RewriteRule ^([^/]*)\.html$ /some/application/page.html?=$1 [L]
答案 0 :(得分:0)
据我所知,您需要[R=301,L]
才能正确进行重定向。默认情况下,Apache2将使用302重定向,因此如果它是永久重定向,则应强制R = 301,如您所述。如果单独[L]
始终执行301重定向,则RewriteRule的文档不清楚。安全,告诉apache到底要做什么: - )。
答案 1 :(得分:0)
我想你想这样做:
您的用户看到的网址(甚至谷歌):
http://www.mydomain.com/apply
到
http://www.mydomain.com/some/application/page.html
内部(实际)网址。
然后我建议你这样做:
RewriteEngine On
#condition to redirect
RewriteCond %{REQUEST_URI} ^/?apply/?$
RewriteRule ^/?apply/?$ /some/application/page.html [L]
标志[L]
(Flag L docs)表示RewriteEngine停止进一步重写任何规则。这不会执行永久重定向。
你这里不需要[R=301]
标志。 301用于永久重定向。在任何地方使用短网址。