使用htaccess

时间:2017-10-24 17:32:54

标签: php wordpress .htaccess

我在目录“public_html / mywebsite /”中安装了wordpress 。我的根目录是“public_html /”。我的域名wwww.mywebsite.com指向根文件夹“public_html /”。由于某些原因,我无法将域指向“mywebsite”文件夹。但是当我调用wwww.mywebsite.com时,我想从“public_html / mywebsite /”目录加载网站。我尝试使用htaccess进行此实现。但是没有工作。

在“public_html /”目录中,我放了一个.htaccess文件并添加了以下代码;

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?mywebsite.com$
RewriteRule ^(/)?$ mywebsite [L]

它将网站重定向到“mywebsite”文件夹,但它返回wordpress网站的404页。

我像这样修改了wordpress目录的.htaccess;

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_URI} !^/(mywebsite|mywebsite/.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

有什么想法解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

我使用了基于以下链接的wordpress重定向规则,这对我有用。

https://codex.wordpress.org/Giving_WordPress_Its_Own_Directory

答案 1 :(得分:0)

为了提高安全性。我创建了一个随机名称长的新文件夹,并在那里安装了 Wordpress。为了将访问者重定向到该 wordpress 文件夹而不让他们注意到 URL 中的任何内容,我创建了一个 .htaccess 文件并将其写入其中。

>
<Files .htaccess>
    order allow,deny
    deny from all
</Files>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/my_subdir/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /my_subdir/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ my_subdir/index.php [L] 
</IfModule>

第一部分是为了安全,第二部分是重定向。我用随机文件夹替换了“my_subdir”,用我的网站替换了“example.com”。