首先,因为我在共享主机上,所以我无法将公用文件夹的内容直接放入根目录中。我必须将整个项目放入 public_html 目录中,并使用 .htaccess 指向公共文件夹,如下所示(这对于单个 Laravel 项目效果很好):
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
Run Code Online (Sandbox Code Playgroud)
现在,我使用主机创建了一个子域,并在我的 public_html 目录中创建了一个名为 store.domain.com 的目录。这将用于一个完全不同的 Laravel 项目。如果我将带有 .htaccess 文件的常规文件夹结构放入此子域文件夹中,则在访问子域时会收到 503 错误。我与主机交谈,当他们建议删除根 .htaccess 文件时,子域开始工作,但主域崩溃了。
几天来我一直在努力阅读 WordPress 上其他人类似问题的各种解决方案,但无法让任何东西正常工作。下面的解决方案有点有效,但它不断将公共文件夹添加到我的子域 URL(根域项目工作正常):
RewriteBase /
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} ^store.mc.com
RewriteRule ^(.*)$ /public/$1 [L]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} !^store.mc.com$
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ /public/$1 [L]
Run Code Online (Sandbox Code Playgroud)
有人遇到过这个问题或者知道如何解决吗?
我有一个 Plex 服务器运行在website.com:32400/web. 我希望能够plex.website.com使用 Apache 的反向代理功能访问它。以下是我的/etc/apache2/sites-available/plex.website.com.conf文件(的相关部分):
<VirtualHost *:80>
ServerName plex.website.com
ProxyRequests off
ProxyPass / http://website.com:32400/web/
ProxyPassReverse / http://website.com:32400/web/
ProxyHTMLURLMap http://website.com:32400/web http://plex.website.com
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
此设置部分有效;也就是说,如果我去,plex.website.com/index.html那么我得到的 HTML 与我去website.com:32400/web/index.html. 然而,除此之外,其他一切似乎都是 404(即 CSS 和 JavaScript)。例如,http://website.com:32400/web/img/desktop/ios/icon-iphone.png加载正常,但http://plex.website.com/web/img/desktop/ios/icon-iphone.png会产生 404 错误。
不过,似乎我可以直接访问web目录中的任何内容,例如plex.website.com/favicon.ico可以正常加载的内容。很明显,这是映射子域的问题。
所有必需的 Apache 模块都已启用。
我不太确定我会如何开始尝试解决这个问题。
编辑:我刚刚意识到它是 404'ing 的原因是它仍然包含web不应该包含的 URL 部分。在我给出的例子中,http://plex.website.com/web/img/desktop/ios/icon-iphone.png是它试图访问的位置 - 但这应该是http://plex.website.com/img/desktop/ios/icon-iphone.png。所以我怀疑是ProxyHTMLURLMap.
所以我试图使用 PHP 为我的网站自动创建子域。我尝试了以下代码,但它给了我一个301错误并将我重定向到我的 cPanel 登录
function createDomain($domain) {
// your cPanel username
$cpanel_user = 'User';
// your cPanel password
$cpanel_pass = 'Pass';
// your cPanel skin
$cpanel_skin = 'paper_lantern';
// your cPanel domain
$cpanel_host = 'example.com';
// subdomain name
$subdomain = $domain;
// directory - defaults to public_html/subdomain_name
$dir = 'public_html/user_site';
// create the subdomain
$sock = fsockopen($cpanel_host,2083);
if(!$sock) {
print('Socket error');
exit();
}
$pass = base64_encode("$cpanel_user:$cpanel_pass");
$in = "GET /frontend/$cpanel_skin/subdomain/doadddomain.html?rootdomain=$cpanel_host&domain=$subdomain&dir=$dir\r\n";
$in .= "HTTP/1.0\r\n";
$in .= "Host:$cpanel_host\r\n";
$in …Run Code Online (Sandbox Code Playgroud) 我正在尝试设置可以通过一个主容器访问的多个 docker 容器。
例如:
http://localhost:80是主容器
http://localhost:80/site1是一个单独的容器
http://localhost:80/site2还是一个单独的容器
我知道该--link标志已被弃用,而新的处理方式是使用该--network标志。
当我使用--link(用于测试)时,我会在主机文件中看到我链接到的容器的条目。这就是我被困的地方。
所以我想使用 docker --networking 选项设置上述场景。
用例:/Site1可能是网站的管理区域或成员,但我希望将它们放在单独的容器中,以便我可以更轻松地维护它们。
容器是基于 apache2 的,但如果可能的话,希望避免编辑任何配置文件(但如果需要,我可以)
我该怎么办?
我在这里托管了一个站点:http : //testapp-test.us-west-2.elasticbeanstalk.com/someservlet.do
该站点包含一个index.jsp和一个someservlet。
在https://my.freenom.com机柜中,我尝试:设置名称服务器并将 url 转发设置为http://testapp-test.us-west-2.elasticbeanstalk.com。前者不起作用:我将名称服务器设置为屏幕显示,当尝试访问 codingrecords.tk 时,它只是空白。然而,URL 转发有效,它确实显示了主页,但是当我尝试访问http://codingrecords.tk/someservlet.do 时,它仍然显示index.jsp消息。
我如何解决它?通过指定名称服务器,而不是 url 转发?但后来它也不起作用..
java deployment subdomain web-deployment amazon-web-services
这个正则表达式包含一切。我怎样才能只搜索域而不是额外的字符。
echo "AAAA cccc.google.com BBBB" | grep -oE "[^\.\n]*((\.[^\.\n]*){2}$)" --color=always
Run Code Online (Sandbox Code Playgroud)
我想cccc.google.com被抓,但不是AAAA cccc.google.com BBBB。添加 \b 不起作用。
echo "AAAA cccc.google.com BBBB" | grep -oE "\b[^\.\n]*((\.[^\.\n]*){2}\b$)\b" --color=always
编辑:我忘了说,我需要 grepping 第三级和第四级域。这就是我的意思:
g.google.com 这是一个三级域名a.b.google.com 这是一个 4 级域。我上面的正则表达式是 grepping 三级域,但它 grep 了一些其他字符,所以我问了问题。假设我有AAAA a.b.c.d.e.g.google.com BBBB那么 {3} 应该给我 g.google.com 和 {4} 或 {3,4} 应该给我 eggoogle.com 同时省略一些不需要的字符。我的正则表达式正是这样做的,但有额外的字符!
因此,使用此正则表达式(来自答案,已修改):
echo "AAAA d.cccc.google.com BBB" | grep -oE '\w+(\.\w+){2}'
省略了我的正则表达式没有的 .com 部分(但它会打印 exta char :( )。所以,请修改以在这种情况下工作。
我收到一条消息:
添加或更新 app-ads.txt
您的 app-ads.txt 文件丢失或无效。为防止广告收入出现重大损失,请添加或更新您的 app-ads.txt。
将 app-ads.txt 发布到开发者网站的根目录(例如,sampledomain.com/app-ads.txt)。确保输入的域名与 Google Play 或 App Store 中列出的完全一致。
我没有开发者网站。
我的要求:如何免费设置这个app-ads.txt文件?(我没有域名或网站)
我在设计登录或退出后重定向到子域时遇到问题。我生成了设计控制器未注释的方法,这些方法应该带我去我想要的地方,但子域不起作用。
def after_sign_in_path_for(resource)
root_url(subdomain: resource.subdomain)
end
def after_sign_out_path_for(resource_or_scope)
home_url(subdomain: "www")
end
Run Code Online (Sandbox Code Playgroud)
登录后我收到错误
不安全的重定向到“http://chris.lvh.me:3000/”,无论如何都要传递allow_other_host: true来重定向。
因此,我以几种方式修改了方法,但它给了我更多错误,我尝试过的示例:
root_url(subdomain: resource.subdomain), allow_other_hosts: true
root_url(subdomain: resource.subdomain, allow_other_hosts: true)
redirect_to root_url(subdomain: resource.subdomain),allow_other_hosts: true
redirect_to root_url(subdomain: resource.subdomain, allow_other_hosts: true)
Run Code Online (Sandbox Code Playgroud)
错误是:参数数量错误或意外的“、”预期结束或其他内容。
退出后,我会进入登录页面,而不是 home_url,并且子域不会更改。
我正在使用 devise、rails-on-services/apartment 和 Rails 7
在使用我的子域创建新记录时,abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl我收到以下错误。
(InvalidChangeBatch 400: DomainLabelTooLong (Domain label is too long) encountered with 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl')
Run Code Online (Sandbox Code Playgroud)
从AWS 文档中 我找到了以下声明。
域名总长度不能超过255字节(包括点)。
仅供参考,我的根域长度是 20 , 20+ 64 (子域)也不超过这 255 个字节。
有人遇到这个问题了吗?
我正在使用CI.我想在子域上共享会话而我正在使用数据库来存储会话
我试过这个
ini_set('session.cookie_domain', substr($_SERVER['SERVER_NAME'],strpos($_SERVER['SERVER_NAME'],"."),100));
if(session_id ==''){session_start();}
Run Code Online (Sandbox Code Playgroud)
这意味着xycom和zycom将使用常见的会话帮助我,请