[英].htaccess mapping www & non-www to folder and maintain www
我不是.htaccess
专家,并且很少使用它。 我在Net和SO上经历了几种解决方案,但是仍然没有运气。 所以我有一个IP说1.2.3.4
,我的wordpress应用程序的子文件夹在/var/www/html/
说ABC。 DNS已设置为使www.mydomain.com
和mydomain.com
指向IP 1.2.3.4
。
我的内容在.htaccess
文件中,如下所示,它仅支持mydomain.com
。 内容按预期显示,但当我输入www.mydomain.com
它将显示Linux主页。
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^mydomain\.com$
RewriteCond %{REQUEST_URI} !^/ABC/
RewriteRule (.*) /ABC/$1
当我放置www.mydomain.com
,浏览器会自动将URL更改为mydomain.com
。
除此之外,我还希望所有域名都带有www
。 意味着来自mydomain.com
请求将显示为www.mydomain.com
。 稍后,我将把www.mydomain.com
放在wordpress的URL配置中。 一些帮助表示赞赏。
切换回您的旧.htaccess代码。 上次更新后,我更加清楚了。 您在“ public_html / ABC”中有wordpress文件,但需要您的网站网址为www.example.com。 让我逐步解释。
所以最后我设法得到了我想要与以下解决方案一起使用的东西。 希望这可以帮助某人:
RewriteEngine on
RewriteBase /
# Whatever request coming to the server, add www to it
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
# Map the www URL to the subfolder in root directory
RewriteCond %{HTTP_HOST} www\.myurl\.com$
RewriteCond %{REQUEST_URI} !^/thefolder/
RewriteRule (.*) /thefolder/$1
对于Wordpress,我将代码放在wp-config.php
,如下所示:
define('WP_HOME','http://www.myurl.com');
define('WP_SITEURL','http://www.myurl.com');
谢谢。 干杯。
更新我刚刚意识到,经过上面的更改,我无法登录到我的WP管理页面。 这是由于错误的重定向。 看起来像http://www.myurl.com/wp-login.php?redirect_to=http%3A%2F%2Fwww.myurl.com%2Fthefolder%2Fwp-admin%2F&reauth=1
当我从URL中删除文件thefolder
,它将重定向到预期的页面。 有人可以建议吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.