我有wordpress安装在根目录的子目录中。 我已经按照提供的说明将index.php放在根目录下,并创build适当的htaccess文件。 网站正在运行。 除一个以外,可以按照预期访问。 该网站以前是一个html静态网站,默认为default.htm。 我发现,在旧网站的链接是http://www.kayakbc.ca/default.htm的情况下 ,如果遵循,则会将我带到“未find”页面。 没问题,为/default.htm添加了redirect到http://kayakbc.ca/ 。 它在一个redirect循环中结束。 尝试了这种基本的redirect代码的各种变化,并没有得到好的结果。 我觉得这个bug是来自wordpressbuild议的htaccess子码文件安装的代码 # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress 已经search了高和低,不能拿出一个解决scheme。 我甚至把一个default.htm文件放在根目录下,redirect到index.php,并被卡在相同的redirect循环中。 任何线索将不胜感激。 谢谢。
我们的OpenCart运行在Lighttpd上,我们使用mod_rewrite进行search引擎优化。 每当我们有我们的重写规则,GET请求,如http://www.site.com/dev/?gclid=XXX不起作用。 这里是我目前的OpenCart重写规则: server.modules += ( "mod_rewrite" ) url.rewrite = ( "^(.*)–v[^/]*–(.*)$" => "$1$2" ) url.rewrite-once = ( "^/dev/$" => "/dev/index.php?route=common/home") url.rewrite-if-not-file = ( "^/dev/(.*)" => "/dev/index.php?_route_=$1") 我需要添加哪些规则来启用GET请求?
我想在同一个域名上使用mediawiki的wordpress MU,但是我使用的是一种名为wikifamily的mediawiki托pipe服务。 所以我有不同的脚本根: / var / www / wikifamly为mediawiki / var / www / blogs for wordpress 我想这样使用它: mydomain.com或博客的mydomain.com/blog mediawiki的mydomain.com/wiki 我试图写一些想像: map $http_host $blogid { default -999; } server { server_name mydomain.com; root /var/www/blogs/; index index.php; location /wiki { index index.php index.html index.html; root /var/www/wikifamly; rewrite ^/?wiki/(.*)$ /index.php?title=$1 last; rewrite ^/?wiki/*$ /index.php last; rewrite ^/*$ […]
我有一个网站,这是基于一个search页面,显示一个列表,接下来是一个细节页面的项目。 如果访问者使用rootdomain.com/searchterm ,应将其redirect到rootdomain.com/index.php?keyword=searchterm 。 我现在正在工作的细节rootdomain.com/detail/productname ,应该redirect到rootdomain.com/detail.php?name=productname 在这里我失败了 我一直使用我的$ 1作为“detail / productname”redirect到index.php, 这是我的.htacces到目前为止: RewriteEngine on RewriteCond $1 !^(index\.php|resources|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/detail/(.*)$ detail.php?name=$1 [L,QSA] -> L here doesn't work either. RewriteRule ^(.*)$ index.php?keyword=$1 [L,QSA] 更新 好的,我现在非常接近 问题是重写条件只对下一条规则有效,所以我必须重复一遍,我也在第一个条件中添加了ignore detail.php,因为我的redirect已经被redirect到索引。 现在由于某种原因,我的条件为-F似乎不能在细节/我所有的CSS和图像不工作。 排除他们的最好方法是什么? RewriteEngine on RewriteCond $1 !^(index\.php|detail\.php|resources|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule […]
我试图达到以下目的:我的服务器上的一些文件应该从一个子域(static.example.com)为了性能目的(避免cookie)提供服务。 但是,其中一些内容实际上也可以从主主机名访问。 因此,例如,文件image.png将可以通过两个访问 http://static.example.com/img/image.png和 http://www.example.com/foo/img/image.png 我可以设置一个别名,如果这实际上是全静态文件,但由于各种configuration的原因,我希望请求static.example.com是服务器完全一样的请求,同样的文件www.example.com ,这是在相同的nginxconfiguration中定义。 重写看起来很有希望,但似乎你不能重写“跨服务器”,因为这会把它变成一个客户端redirect,这可能会破坏这个练习的目的。 任何指针如何实现这个没有重复相关的configuration将不胜感激。
我会诚实地承认,我在magento.stackexchange.com交叉发布,但原因是,我认为这是一个服务器故障,现在我正在寻找证据,以呈现给我可怕的托pipe服务提供商,GoDaddy … 当我登入时,突然间,我的巨匠正在做一个梦 mysite.com/mixitup/ login后,它变为 mysite.com/index.php/mixitup/dashboard/index/key/812b0641da…. etc, 但是如果我改变path mysite.com/mixitup/dashboard/index/key/812b0641da… etc 然后显示dasboard,但是在点击任何东西,如目录>pipe理产品index.php再次插入,离开 mysite.com/index.php/mixitup/catalog_product/index/key/f0e2d249eca781e… etc 陡然,这突然影响了一个服务器上的2个独立的magento站点。 他们共享一个.htaccess文件的路线,但是这并没有改变,导致问题。 这是一个godaddy共享服务器,所以我的select是有限的。 任何想法可能改变了这一点? 或如何解决它? 这是我的.htaccess文件的副本(遗憾转储) ############################################ ## uncomment these lines for CGI mode ## make sure to specify the correct cgi php binary file name ## it might be /cgi-bin/php-cgi # Action php5-cgi /cgi-bin/php5-cgi # AddHandler php5-cgi .php ############################################ ## GoDaddy […]
Google图片search能够指向原始图片,而不显示托pipe图片的网站。 所以我想将这些请求redirect到我的网站的自定义页面。 基本上我想重写所有这些url(谷歌提到): www.website.com/folder1/folder2/year/month/day/ID/string.jpg redirect到: www.website.com/ID/page.html 我试过这个代码: set $button_redirect 0; if ($http_referer ~ "\.google\.") { set $button_redirect 1; } if ($http_referer ~ "\.google\.[^/]+/blank\.html") { set $button_redirect 0; } if ($http_user_agent ~ "Googlebot|bingbot|Slurp|Baiduspider|Yandex|Sogou") { set $button_redirect 0; } if ($button_redirect = 1) { rewrite ^(.*)/folder1/folder2/([0-9]{4})/([0-9]{2})/([0-9]{2})/([0-9]+)/(.*)\.jpg$ /index.php?/$4/page.html last; } 但是当我重新启动服务器时没有加载单个页面,所以我认为我至less犯了一个错误。 你可以帮我吗? (我正在运行Codeigniter)。 我从这里取了大部分代码: http : //pixabay.com/en/blog/posts/hotlinking-protection-and-watermarking-for-google-32/ 。
我有一个应用程序,我必须做一些整合,使用Jettynetworking服务器。 做这个应用程序的公司向我介绍了如何使用IIS来充当反向代理,并使用应用程序请求路由将所有stream量转发到docker服务器。 指示是: 1) Create a Server Farm in IIS 2) Create a URL Rewrite rule to direct all traffic to the server farm. 查看URL重写规则,它使用通配符匹配(*)将所有通信路由到已设置的服务器场。 这对我来说是有问题的,因为现在这个服务器上的每个网站都试图将stream量redirect到docker服务器。 有没有一种方法,我可以只有一个IIS站点的stream量redirect到服务器场的stream量? 具体细节如下: Jetty Web服务器托pipe其网站: http://mymachinename:7777/foo 我有一个IIS网站运行在:(我不想从这里的stream量到Jetty) http://mymachinename:50295 如果我在这个URL获取请求,我想redirect到docker: http://mymachinename:8888/*
简短的介绍: 我在一个hyper-v guest虚拟机上configurationARR时出现了一个奇怪的问题。 我可以正常加载我的DotNetNuke / ASPx站点,但经过一段时间不活动后,页面不再加载。 只有在访问默认的IIS站点并按下Ctrl + F5后,它才能恢复工作。 直到我离开浏览器再次空闲。 下面我描述这个场景和完整的描述: 场景: (注意:我花了好几天的时间试图用生产设置来解决问题,我禁用了规则并configuration了一个“全部通过”的规则,简化到这种情况,但问题是一样的。 我有一个d-link DSL-2750B,它是80端口转发到反向代理服务器(Windows 2012标准虚拟机)的端口; 此反向代理服务器启用了ARR,并且URL重写规则configuration为通过使用“全部捕获规则”(*)将所有调用redirect到Web服务器(重新路由到其服务器场),仅用于testing目的; 在也是虚拟机的Web服务器上,我有3个DotNetNuke站点和1个默认IIS网站,只有默认的html; 所有这些网站都没有Windows身份validation。 他们都接受匿名。 详细描述: 上面的configuration工作。 为了使testing更强大,我使用我的家用电脑通过LogmeIn访问公司页面: 我打开我的“家”Web浏览器并导航到所有网站(3个DN网站和默认IIS站点)。 一切都好。 现在我离开Web Broser闲置或只是继续工作,随机分钟。 突然间,当我尝试刷新或导航通过网站,页面不加载,并且网页浏览器不断显示“进度图标”(在Firefox,正在运行的绿色圆圈,灰色之后)。 它会保持很长时间,直到出现“重新启动连接”消息。 点击“刷新”button多less次无关紧要,不断显示绿色圆圈。 另外,closures浏览器并打开新的实例也没有帮助。 最终,几分钟后,这些网站重新开始工作。 现在奇怪的部分:如果我浏览默认的IIS网站,并按Ctrl + F5,我可以正常导航到DNN网站! 所有的导航都很好,直到最后几分钟之后再次卡住。 有人通过这个问题? 更多信息: 同时“家”Web Broser卡,“公司”Web浏览器(通知,在同一networking中)正常工作,通过使用HOSTS修改指向ARR服务器)。 如果我直接转发到Web服务器(VM)的防火墙,一切似乎运作良好。 似乎有一个保留的时间工作,并保留一段时间不工作。 这是间歇性的。 我发现绕过这个问题的唯一技巧是在Web浏览器中加载一个默认的IIS网站。
我也在Stackoverflow上问过这个问题,但我认为这将是一个更好的地方问。 我们在IIS7.5上有以下重写规则: <rule name="Anything else to the event handler" enabled="true" stopProcessing="true"> <match url="^(.*)$" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{PATH_INFO}" pattern="^.*(/index.cfm/).*$" negate="true" /> </conditions> <action type="Rewrite" url="/index.cfm/{R:1}" appendQueryString="true" logRewrittenUrl="true" /> </rule> 但是,它之后永远不会放入/ {R:1}。 它只是去/index.cfm。 我们需要实际获取引用variables,因为我们在ColdFusion(10)脚本中使用了这个引用variables。 我们想要一个url重写的例子: 来自: http://www.my-site.com/this.is.a.test/another.test : http://www.my-site.com/this.is.a.test/another.test 要: http://www.my-site.com/index.cfm/this.is.a.test/another.test : http://www.my-site.com/index.cfm/this.is.a.test/another.test 任何人有一个想法,为什么不会这样做? (快速注意:执行正确的URL时可能会发生ColdFusion错误,但我不认为这会导致重写问题) 请注意,当您在浏览器中尝试使用相同的function(禁用了规则)时,它确实有效 – 只是不使用重写规则。 使用重写规则,CF中的cgi.PATH_INFOvariables返回空string。 此外,IIS确实已经将日志中的URL重写为index.cfm / this.is.a.test / another.test,这很奇怪。 使用301redirect而不是重写使它工作得很好(没有改变任何有关规则,只有动作typesredirect)。 […]