我不是.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
时,浏览器会自动将网址更改为mydomain.com
。
除此之外,我还想拥有www
的所有域名。来自mydomain.com
的请求将显示为www.mydomain.com
。稍后我会将www.mydomain.com
放入我的wordpress的URL配置中。一些帮助表示赞赏。
答案 0 :(得分:2)
切换回旧的.htaccess代码。在上次更新后我更清楚了。你有" public_html / ABC"中的wordpress文件。但需要您的网站网址为www.example.com。让我一步一步解释。
答案 1 :(得分:0)
所以最后我设法得到了我想要使用下面的解决方案。希望这会帮助那里的人:
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
当我从网址中删除thefolder
时,它会重定向到预期的网页。有人可以就此提出建议吗?