基本上我想*.domain.com拉起domain.com/*/ *.domain.com (不redirect)。 我进入了cPanel的子域部分,并为这个域设置了一个通配符。 这似乎是正确的解决,即* .domain.com正在提出domain.com。 我现在在public_html目录中创build了一个htaccess文件,其中包含: Options +FollowSymLinks Options +Indexes RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !www.domain.com$ [NC] RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).domain.com [NC] RewriteRule (.*) %2/$1 [L] 我得到的错误是'500内部服务器错误',有什么想法?
我有一个托pipe网站,其中包括一个安全的注册和购买部分,提供付费内容的访问。 如果URL不是www.domainname.comforms,SSL证书validation将失败。 我正在寻找使用mod_rewrite规则redirect,如果WWW在URL中找不到。 这工作,但是然后redirect到安全页失败,500错误。 检查ssl_error日志我看到: [Wed Jul 29 21:20:32 2009] [alert] [client xx.xx.xx.xx] /vservers/domainname/htdocs/.htaccess: RewriteEngine not allowed here, referer: http://www.domainname.com/index.php?option=com_content&view=category&id=2&Item=9 .htaccess我们试过了: # mod_rewrite in use RewriteEngine On RewriteCond %{HTTP_HOST} ^domainname.com [NC] RewriteRule ^(.*) http://www.domain.com/$1 [L,R=301] 我不知道这是我能解决的问题,还是必须等待托pipe服务提供商解决问题。
我有这个htaccess: <IfModule mod_rewrite.c> RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*) index.php?%{QUERY_STRING} [L] </IfModule> 转换成nginx规则。 问题是最后一行。 这是我目前的一个: set $condition ""; if (!-f $request_filename) { set $condition F; } if (!-d $request_filename) { set $condition "${condition}D"; } if ($condition = FD) { rewrite ^(.*) $host/index.php?$query_string last; } 我怎样才能做这个工作? 谢谢。
如何编写htaccess,以便在admin.example.com上只需要身份validation,而不是在www.example.com上(比如使用一些if-else语句)? 背景:我有一个网站运行在两种模式:pipe理模式应达到像admin.example.com,而正常模式将www.example.com – 但都应指向相同的目录和脚本内他们(脚本然后通过检查是否从admin子域访问脚本来打开某些编辑function)。 编辑:我现在可以看到这已被问及在StackOverflow回答 ,虽然我不能得到最佳答案为我工作…
有人可以帮我弄这个吗。 我感觉好像我已经撞了我的头靠墙超过2小时了。 我已经在我的机器上安装了Apache 2.2.8 + PHP 5.2.6,下面的代码使用.htacces工作正常,没有错误。 RewriteEngine on RewriteCond $1 !^(index\.php|css|gfx|js|swf|robots\.txt|favicon\.ico) RewriteRule ^(.*)$ /index.php/$1 [L] 我的托pipe服务提供商服务器上的相同的代码给我一个404错误代码和输出只:没有input文件指定。 index.php在那里。 我知道他们已经安装了Apache(无法在任何地方find版本信息),他们正在运行PHP v5.2.8。 我在Windows XP 64位,他们正在运行一些Linux和PHP在CGI / fastcgi模式。 任何人都可以build议可能是什么问题? PS。 如果这对CodeIgniter使用友好的URL很重要。
下面是情况:我有一个共享主机上运行的几个不同的Web项目。 项目“A”通过子域( subA.mydomain.com )访问,而项目“B”是主要的mydomain.com A和B都是主机的public_html文件夹中的符号链接: ln -s /home/myhost/ProjectA ~/public_html/subA ln -s /home/myhost/ProjectB ~/public_html/main 子域( 项目A )正常工作,网站正在运行。 对于“B”这是主要的领域,我已经使用.htaccess指向主文件夹到这里写的子文件夹。 该域名网站也工作正常。 问题是当我做mydomain.com/subA ,子域名网站( 项目A )打开。 我尝试添加redirect规则指向mydomain.com/subA – > subA.mydomain.com像这样: RewriteCond %{HTTP_HOST} ^mydomain.com$ [OR] RewriteCond %{HTTP_HOST} ^www.mydomain.com$ RewriteRule ^subA\/?$ "http\:\/\/subA\.mydomain\.com\/" [R=301,L] 但url仍然读取mydomain.com/subA和显示的网站是项目A(与图像和静态文件显然缺less作为一个不同的Web项目)。 为什么不redirect工作?
我看到这个: 如何通过htaccessredirect根和只有根? 它接近,但不完全。 我正在重写一个网站,并希望能够发送来自以下用户: http://myfullurl.com 至: http://mylandingpageurl.com 在保留testing网站的能力的同时: http://myfullurl.hostingprovider.com
尝试在本地主机上创build自己的errordocument … 在我的.htaccess中: ErrorDocument 404 /errors/404.php 在errros目录中:404.php 根目录中的.htaccess。 但是,如果我tpye一些无效的url,如: http://localhost/test/index.pXX ,那么我得到一个错误: 未find 在此服务器上未find请求的URL /webtest/index.pXX。 此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。 在404.php的第一行: 问题是什么? 谢谢。
我拥有一个Linux的Apache网站,我宿主exe文件下载。 现在,当用户点击这个链接到我的网站(发布在另一个网站上): http://mysite.com/downloads/file.exe 我需要dynamic检查他们的用户代理并redirect到任一 http://mysite.com/downloads/file-1.exe 要么 http://mysite.com/downloads/file-2.exe 在我看来,我有两个select: 放一个.htaccess文件,说明.exe文件应该被认为是脚本。 然后编写一个脚本来检查用户代理并将其redirect到放置在另一个文件夹中的真实exe文件。 调用这个脚本file.exe。 使用Apache mod-rewrite将file.exe指向redirect.php。 哪个更好? 任何其他的考虑? 谢谢。
我不能完全弄清楚如何在我的.htaccess文件中使用正则expression式来从URL的末尾移除index.php,当且仅当它是string中的最后一个东西。 如果url是example.com/path/index.php,它应该变成:example.com/path/ 但是如果url是example.com/path/index.php?blah=0,它应该保持不变。 任何帮助吗? 我认为这可能会起作用,但似乎并不能保留上述后一种情况: RewriteRule ^(。*)$ /index.php/$1 [L]