我有一个有趣的故事。我的根目录上的htaccess配置如下所示:
RewriteEngine On # add a trailing slash if portal-pages/$1 is a directory RewriteCond %{DOCUMENT_ROOT}/portal-pages/$1 -d RewriteRule ^(.*[^/])$ %{REQUEST_URI}/ [L,R=301,NE] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(?!portal-pages/)(.*)$ portal-pages/$1 [L,NC]
所以我真正的道路是这样的:
local.com/portal-pages/home
但是. htaccess把这个路径翻译成这样:
local.com/home
效果很好,但如果我打本地的话。com我想把它转发到本地。com/home。如果我打本地电话。com/随便你怎么说。
如何使用此配置执行此操作?提前谢谢。
另外,我如何强制所有内容都使用https?
您可以使用一个附加规则将登录页重写为/home
http的另一个重定向规则-
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,R=301,L]
# add a trailing slash if portal-pages/$1 is a directory
RewriteCond %{DOCUMENT_ROOT}/portal-pages/$1 -d
RewriteRule ^(.*[^/])$ %{REQUEST_URI}/ [L,R=301,NE]
# forward landing page to /home
RewriteRule ^/?$ /home [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(?!portal-pages/)(.*)$ portal-pages/$1 [L,NC]
我的主域名绑定到我的public_html文件夹,但我使用. htaccess重定向将根目录更改为文件夹中的子目录,以便更容易托管多个网站。示例: 根目录中的. htaccess文件如下: 这很好,但我认为这和这个有问题。我的site1目录中的htaccess文件。如果我输入URL,它有时会重定向到示例。com/site1。因此,该网站在示例中看起来完全相同。com和示例。com/site1,但我
问题内容: 这个问题可能已经问了上千遍了,但是我尝试了很多脚本,并且在搜索什么都没有找到时搜索了很长时间,我想,我们只是问一下。 我只是想重定向到而用户看不到URL更改。 因此,如果有要求,我希望用户继续看到该URL,而给定的页面实际上是。 注意:我不想要,所以简单 提前致谢, 以赛亚诉匈奴 问题答案: 我在下面设置了我的子域的CNAME: 到我的WordPress安装在根目录下的文件夹中。 以前
假设(网站的)用户键入一个随机的、不存在的子域名: 是否可以将它们重定向到[主]域: 问题是,如果用户键入[或拼写错误]子域名,那么当前,它将进入[404]错误页面。然而,我已经提出: 在公园里。htaccess-但是,它不会重定向。是否可以为通配符创建某种重写条件/规则,例如不存在的所有子域?
我有一个专用服务器,其中有许多驻留的域,我的子文件夹的结构为“domain.com/pages/username”,如果用户购买了自己的域,则使用htaccess文件中的以下代码执行重定向: 但是现在由于有几个域和htaccess文件大小越来越大。我想知道是否可以在不编辑htaccess文件的情况下从域配置中完成类似的操作。我不使用子域,我可以使用CNAME或类似的新域吗?HTAccess文件权重
这是我需要的。 我需要重定向(301)博客至,我想使用htaccess来实现这一点。 这是我尝试过的,但没有成功: 谢谢你的帮助。
我有一个多个域共享一个htaccess的系统。目前,我使用以下命令将所有非www请求重定向到www。 唯一的问题是现在我根本不能使用子域,因为子域。我的主人。com将被重定向到www.sub-domain。我的主人。com 上述规则是否有一种方法可以排除所有以“sub-”开头的请求?而不是重定向到www。 更新: 在我的表格中只有以上5行。htaccess将抛出“500-内部服务器错误”。