在本文的目标中,我有一个托管,使我能够使用相同的托管配置多个域。
我的根文件夹是:/ home / my_username /
在这个文件夹中,我有/ public_html(/ home / my_username / public_html /)文件夹,我必须把我的文件放在必须从互联网上访问。
这种托管需要一个指向/ home / my_username / public_html /
的主域名(称之为http://principal-domain.ext)所有其他域名将指向/home/my_username/public_html/other-domain.ext /
因此,举例来说,如果我有三个域:
所以,最后,FOLDER STRUCTURE就像这样
/home/
- my_username/
- public_html/ <- Here go files for principal-domain.ext
- second-domain-folder/
- third-domain-folder/
如果我想安装WORDPRESS以获取PRINCIPAL-DOMAIN.EXT
如果我想为principal-domain.ext安装WordPress,那么我必须将WordPress的文件放入/ home / my_username / public_html /
这实际上是一个不方便的文件夹结构,因为主要的WordPress安装与专用于其他域的子文件夹“混合”。
为了让我清楚,我会有一个像这样的文件夹结构:
实际错误的不受欢迎的文件夹结构
/home/
- my_username/
- public_html/ <- **HERE GO FILES FOR PRINCIPAL-DOMAIN.EXT (WRONG!)**
- second-domain-folder/ <- second-domain.ext folder
- third-domain-folder/ <- third-domain.ext folder
- wp-admin/ <- principal-domain.ext WordPress folder
- wp-content/ <- principal-domain.ext WordPress folder
- wp-includes/ <- principal-domain.ext WordPress folder
相反,我想要的是如下所示的文件夹结构
我想要的文件夹结构
/home/
- my_username/
- public_html/
- principal-domain-folder/ <- principal-domain.ext folder
- wp-admin/ <- principal-domain.ext WordPress folder
- wp-content/ <- principal-domain.ext WordPress folder
- wp-includes/ <- principal-domain.ext WordPress folder
- second-domain-folder/ <- second-domain.ext folder
- third-domain-folder/ <- third-domain.ext folder
这样我可以按照我的文件夹结构保留更多。
问题
问题是,使用上面的文件夹结构,要访问principal-domain.ext WordPress安装,我必须使用URL http://principal-domain.ext/principal-domain-folder,这不是一件好事。
我的问题
我唯一希望获得的是能够使用网址http://principal-domain.ext而不是http://principal-domain.ext/principal-domain-folder访问principal-domain.ext的WordPress安装。 < / p>
我不想重定向,而是从实际路径网址到“显示”网址重写网址。我想从URL中删除文件夹/ principal-domain-folder /。
如何使用.htaccess文件执行此操作?
我已经在StackOverflow和互联网上的其他网站上阅读了很多问题和相关答案,但我尝试过的所有解决方案都可以作为重定向。
似乎做我想要的事情的少数人没有工作(循环错误,错误的重定向等)。
更多,它们非常复杂,但我认为这是一个简单的重写,因为这不需要7个或更多的RewriteRules,就像我在周围找到的片段一样。
有没有人可以帮助我获得我想要的东西?
我应该在我的.htaccess文件中使用http://principal-domain.ext而不是http://principal-domain/principal-domain-folder/等网址访问WordPress需要哪些规则?
答案 0 :(得分:0)
请尝试以下规则:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^principal-domain.ext
RewriteCond %{REQUEST_URI} !^/principal-domain-folder/
RewriteRule ^(.*)$ /principal-domain-folder/$1 [L]
我测试了它,它对我有用。
RewriteEngine on
规则用于启用Rewrite
。RewriteCond %{HTTP_HOST} ^principal-domain.ext
规则用于过滤您的域名。RewriteCond %{REQUEST_URI} !^/principal-domain-folder/
规则是拒绝访问principal-domain-folder
。RewriteRule ^(.*)$ /principal-domain-folder/$1 [L]
规则是主要rewrite rule
。请注意,它有一个[L]
标志,表示它是last
规则。此外,如果您需要,可以在这些规则之后为其他域添加额外规则。