我正在研究一个Drupal多站点,因此,我的redirect被添加到相同的htaccess。 问题是我的RewriteCond工作不正常。 我的example1.com RewriteRule也在example2.com上工作,我不想要。 这些redirect是特定于站点的。 任何人都可以看到我做错了什么? # START redirects of example1.com RewriteCond %{HTTP_HOST} ^stage\.example1\.com [NC,OR] RewriteCond %{HTTP_HOST} ^example1\.com [NC] RewriteRule ^products/new-equipment/marine-engines$ /products/new/marine [R=301,L] # END redirects of example1.com # START redirects of example2.com RewriteCond %{HTTP_HOST} ^stage\.example2\.com [NC,OR] RewriteCond %{HTTP_HOST} ^example2\.com [NC] RewriteRule ^products/new/machines/405/(.*) /products/new [R=301,L] # END redirects of example2.com
我有一个网站在哪里使用mod_rewrite。 RewriteRule ^([^/]*)/([^/]*)\.html$ /?systemdomain=$1&page-slug=$2 [L,QSA] 可以生成一个url等 http://example.com/ny-sample-lawfirm-11415/drug-crimes.html ,这完美无缺。 这个物理path位于 /homepages/profiles 现在是这个问题,如果我有一个url,如; example.com/ny-sample-lawfirm-11415/newdirectory即使存在新的目录( /homepages/profiles/newdirectory ),我也会得到一个404错误 我将需要访问 example.com/ny-sample-lawfirm-11415/newdirectory example.com/ny-sample-lawfirm-11415/newdirectory/sub1 所有这一切都会生成一个404。通过.htaccess解决这个问题的任何方法。 不知道我是否应该修改重写或添加某种types的redirect。 任何帮助,将不胜感激
我在CentOS 7,EasyApache 4.我有一些.htaccess重写,如下所示: RewriteRule ^slug/(.*)$ http://mybucket.s3-website-us-east-1.amazonaws.com/slug/$1? [P,L] 为了重写我的s3桶的静态文件的请求。 这工作正常,直到我重新启动服务器,然后停止工作。 Apache正在运行,网站加载,但所有在/ slug文件请求获得404s。 但是,如果我然后手动重新启动Apache,它开始再次工作,图像加载。 我正在使用[P]标签,以便所有文件都在本地服务器上的SSL证书下。 任何想法可能会发生在这里? 即使你有一个提示如何开始排除故障,这将帮助我很多。 谢谢!
我正在通过平滑内容filter通过学校networking的AJAX请求调用一个php脚本。 一切工作正常5-10分钟,然后我得到一个307临时redirect,其次是401.我打开CORS允许任何来源的.htaccess中显示的截图,但控制台输出显示没有“访问控制 – 允许 – Origin'标题存在。 在临时redirect之前,CORS头部存在。 此问题仅在通过此特定networking访问网站时出现,并且所有代码均正常。 我在.htaccess中丢失了什么东西,或者内容filter正在做某种标题剥离? 谢谢大家。 屏幕截图1: 屏幕截图2:
在Android客户端,我们使用这个下载器库 ,它是伟大的库,但它需要文件的大小,然后从URL下载文件。 根据一些需要,我们应该为我们的代码(Laravel)启用gzip 。 但是我们不能启用gzip因为在那之后下载器不起作用并且引发错误。 现在我们要禁用文件URL的gzip 。 这是我的.htaccess内容: SetEnv no-gzip dont-vary <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On # Redirect Trailing Slashes If Not A Folder… RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller… RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>
我在我的.htaccess文件中使用了这个代码: RewriteEngine On RewriteCond %{HTTP_HOST} ^silkgifts.co.uk RewriteRule (.*) https://www.silkgifts.co.uk/$1 [R=301,L] 它将我的HTTPS非www引导到HTTPS www站点,并将HTTP非www引导到HTTPS www站点。 但是,并不是将HTTP www指向https www。 我也在这个代码中尝试解决这个问题: RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 在谷歌search控制台工作,但在其他网站上testing时,它说有一个无尽的redirect链,所以我删除了它。 谁能告诉我我要去哪里? 编辑:当前.htaccess文件: AddHandler php56-script .php .php5 ## EXPIRES CACHING ## <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access plus 1 year" ExpiresByType image/jpeg "access plus 1 year" ExpiresByType image/gif […]
我一直在墙上敲打我的头三周,试图让Wordpress中的固定链接设置在Google云端平台上工作。 以下是我有什么,我正在尝试做什么,以及我已经尝试了什么。 我在GCP上有两台服务器,都遇到同样的问题。 服务器1(迁移服务器)此服务器有四个从共享主机提供商迁移的Wordpress站点。 这四个WordPress网站都有问题,除非我使用WordPress的设置下的固定链接部分的第一个设置。 操作系统:Debian 8网站:www.example.com 服务器2(谷歌部署)这个服务器是一个单一的Wordpress部署,使用谷歌预先构build的wordpress实例部署启动。 操作系统:Debian 8 WordPress的:4.8 永久链接问题:在WordPress的 – >设置 – >永久链接 – >如果我select“普通 – http://example.com/?p=123 ”我可以加载网站的首页,并导航到任何子页面。 如果我select“普通”以外的任何内容,无论是“date和名称”,“月份和名称”,“数字”,“发布名称”或“自定义结构”,我只能加载网站的首页我无法加载任何其他页面。 当我尝试加载任何其他页面时,我收到以下错误: 未find请求的URL /loopstats/在此服务器上找不到。 Apache / 2.4.10(Debian)服务器在example.com端口80 现在他是真正的踢球者,服务器2(GCP Deployed),我使用谷歌部署pipe理器来启动Wordpress实例,固定链接的默认设置是“自定义”选项,下面是slug: /index.php/%year%/%monthnum%/%day%/%postname%/ 同样,如果我使用除此自定义链接以外的任何其他设置,我只能加载首页,所有其他链接都被打破。 当我回到服务器1(迁移服务器),我input这个slug在自定义字段,然后一切工作在服务器1上。这不适合我,虽然我现在离开这些令人难以置信的讨厌的链接包含index.php。 (我被告知这是可怕的SEO目的)。 我试过的东西: 使用Google的日子。 我有问题在WordPress的主要网站,一些插件网站,Reddit,我一直空白。 Apache2重写:从我在网上阅读的不同网站,我发现如果没有启用,Apache Rewrite可能是这里的问题。 我经历了,并确保这两个网站上启用。 .htaccess文件:我在服务器1上添加了.htaccess文件,并用服务器2(Google Deployed)中的.htaccess文件replace了它。 这对于永久链接结构没有任何好处,除了允许我现在使用来自服务器2的定制链接。(/ /index.php/%year%/%monthnum%/%day%/%postname%/ ) 这是两个服务器上当前的.htaccess文件的内容: # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / […]
在我的Drupal的httaccess文件中,我希望每个URL都可能最终redirect到https www site org(注意'和'www') 我可以得到以下工作: www.site自动redirect到https www.site http www.siteredirect到https www.site 我无法得到: https站点redirect到https www.site – 而是转到https站点 http站点自动redirect到https www.site – 而是转到https站点 网站自动redirect到https的网站 – 而是去https网站 到目前为止,这里是httaccess代码: # Set "protossl" to "s" if we were accessed via https://. This is used later # if you enable "www." stripping or enforcement, in order to ensure that # you don't bounce […]
example.com上有一个Laravel站点,blog.example.com上有一个WordPress站点。 这两个站点都托pipe在同一个Cloudways服务器上。 除了我希望将example.com的根目录(索引页)显示(但不redirect到)blog.example.com的根目录之外,一切运作良好。 下面是我的Laravel .htaccess文件。 我怎样才能改变这个(或者如果不编辑.htaccess我还应该做些什么),以便我的Laravel站点的主页能够反映我的博客的主页? Cloudways(我的服务器提供商)不会允许mod_proxy ,不会让我编辑Apache虚拟主机。 <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On #——– # remove www subdomain (https://stackoverflow.com/a/1270281/470749) RewriteBase / RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L] #——– # Redirect Trailing Slashes If Not A Folder… RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller… RewriteCond %{REQUEST_FILENAME} […]
现在运行一个项目,需要为特定页面提供所有匹配的子域名。 这必须作为(反向?)代理,而不是作为redirect。 概观 几个(几十个甚至几十万个)用户将为他们设置一个URL,如下所示: (some_user_name).example.tld 例如: john_smith_123.example.tld 。 环境 Ubuntu 14.04 Apache 2.4.7 HTML / CSS / JS 没有服务器端脚本(允许) 要求 访问(some_user_name).example.tld ,所有用户都必须看到位于example.tld/directory/sub-directory/的相同内容(具有parsing子域值的代码的Web表单)。 在该path的子目录中,我们有一个index.html (应该默认提供)和一个thank-you.html文件, thank-you.html文件应该在提交表单(确认页面)时提供。 在index.html页面上,我们有js代码来parsing出子域的值,并做魔术来显示为用户个性化的一些内容。 只要子地址存在于地址栏中,它就会工作。 我们也有一些js必须能够通过引用位于根域的资源(例如example.tld/assets/js/main.js )来加载资源。 在表单提交后,我们希望在地址栏(some_user_name).example.tld/thank-you中显示用户这个地址,它显示来自example.tld/directory/sub-directory/thank-you.html 所以,这是对的: 用户转到(some_user_name).example.tld – >用户可以看到来自example.tld/directory/sub-directory/index.html页面内容,而地址栏仍然显示(some_user_name).example.tld 然后用户提交表单(推测),并看到(some_user_name).example.tld/thank-you 这是错误的: (some_user_name).example.tld – >redirect到example.tld / directory / sub-directory / index.html(显示在地址栏中)。 解决scheme? 我们一直在挖掘和尝试的答案(包括search和尝试几个堆栈溢出的答案),但相当符合要求,我们处于僵局。 以下是我们尝试的一些解决scheme: https://stackoverflow.com/questions/1187289/setting-up-wildcard-subdomain-with-reverse-proxy-on-apache-2-2-3 如何在Apache2的VirtualDocumentRoot中configuration和组合通配符域和子域? 其他几个(外部堆栈溢出)像Apache文档和其他网站。 到目前为止,我们遇到了一些在文档化解决scheme(以及我们自己的尝试)中似乎很常见的问题。 我们尝试了几个(实际上,几个实现的2-3个不同的变体)。 所以,为了保持这一点,这里是最后两次尝试: 这里是最接近的我们来了: […]