我想将同一个htaccess文件复制到三个不同的服务器上。但是,每次我这样做时,我都不想更新内容。如何“动态”检测域名?
例如,我有以下内容:
Redirect 301 /test/directory/page.php http://examplesite.com/original/location.php
这对其他两个域无效,因为很明显,它们有不同的网址。
我应该像这样修改:
RewriteRule ^/test/directory/page.php /original/location.php [R=301,L]
或者有更好的方法我不必指定域名吗?
答案 0 :(得分:0)
是的,这会有效(只做一个小改动 - 见注释):
RewriteRule ^test/directory/page.php /original/location.php [R=301,L]
您也可以使用它(如果您需要将协议从当前HTTP或HTTPS更改为特定的协议):
RewriteRule ^test/directory/page\.php$ http://%{HTTP_HOST}/original/location.php [R=301,L]
备注:强>
%{HTTP_HOST}
=当前域名。因此,如果访问http://examplesite.com/test/directory/page.php
,则%{HTTP_HOST}
将examplesite.com
作为其值。
/
之后无需导出斜杠^
(除非规则将放在配置文件中,而不是.htaccess)。例如:访问http://examplesite.com/test/directory/page.php
时,RewriteRule
将与test/directory/page.php
一起使用。