如何使用htaccess将主域指向subdir并从URL中删除子目录?

时间:2018-04-02 12:53:47

标签: .htaccess

我在我的虚拟主机上的主要域名我通过htaccess指向public_html中的子目录,如下所示:

RewriteCond %{THE_REQUEST} ^GET\ /apt/
RewriteCond %{HTTP_HOST} ^(www\.)?mysite.com$
RewriteRule ^apt/(.*) /$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^(www\.)?mysite.com$
RewriteRule !^apt/ apt%{REQUEST_URI} [L]

但是,在该子目录中,所有URL都包含子目录(即域)。所以它是domain.com/domain.com/page。本地我使用AMPPS,因此URL是localhost / domain.com / page。我应该解决的问题......

如何从网址路径中删除子目录?我是否在子目录中的htaccess中这样做?感谢。

更新:现在经过大量的麻烦,根htaccess有:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?my-web.agency$
RewriteRule !^my-web.agency/ my-web.agency/%{REQUEST_URI} [L,NC]

URL在URL中使用和不使用子目录;但是我想禁止URI中的子目录。

ProcessWire自动生成的每个链接都包含URI中的子目录。

在子目录my-web.agency内部是一个ProcessWire安装(想想这个案例的WordPress),其中包含以下内容:

<IfModule mod_rewrite.c>

RewriteEngine On
AddDefaultCharset UTF-8

RewriteRule "(^|/)\.(?!well-known)" - [F]

RewriteCond %{REQUEST_URI} !(^|/)site-[^/]+/install/[^/]+\.(jpg|jpeg|png|gif)$
RewriteCond %{REQUEST_URI} (^|/)\.htaccess$ [NC,OR]
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/assets/(cache|logs|backups|sessions|config|install|tmp)($|/.*$) [OR]
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/install($|/.*$) [OR]
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/assets.*/-.+/.* [OR]
RewriteCond %{REQUEST_URI} (^|/)(wire|site|site-[^/]+)/(config|index\.config|config-dev)\.php$ [OR]
RewriteCond %{REQUEST_URI} (^|/)(wire|site|site-[^/]+)/templates-admin($|/|/.*\.(php|html?|tpl|inc))$ [OR]
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/templates($|/|/.*\.(php|html?|tpl|inc))$ [OR]
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/assets($|/|/.*\.php)$ [OR]
RewriteCond %{REQUEST_URI} (^|/)wire/(core|modules)/.*\.(php|inc|tpl|module|info\.json)$ [OR]
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/modules/.*\.(php|inc|tpl|module|info\.json)$ [OR]
RewriteCond %{REQUEST_URI} (^|/)(COPYRIGHT|INSTALL|README|htaccess)\.(txt|md|textile)$ [OR]
RewriteCond %{REQUEST_URI} (^|/)site-default/
RewriteRule ^.*$ - [F,L]

RewriteCond %{REQUEST_URI} "^/~?[-_.a-zA-Z0-9/]*$"

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !(favicon\.ico|robots\.txt)

RewriteRule ^(.*)$ index.php?it=$1 [L,QSA]

如何从网址中删除子目录?请?

0 个答案:

没有答案