我可能有这完全错误的: Options +FollowSymLinks RewriteEngine On RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRIPT_FILENAME} !-f RewriteRule .* index.php [L] #Rewrites so it looks like production RewriteCond %{REQUEST_URI} !^/Home/ RewriteRule ^(.*)$ /Home/$1 [L] 有人可以设置我直接使所有的URL http:// site / somepage1 , http:// site / somepage2 ,被重写为http:// site / Home / somepage1 , http:// site / Home / somepage2 。 是否有一个规则可以捕获所有这些url,并在所有url上添加“/ Home”? 提前致谢。 […]
我有一个项目被直接检出到public_html文件夹中。 拒绝对“.svn”目录进行访问的最好方法是什么?理想情况下完全隐藏它们(即返回404而不是403)?
我只是在Windows上的XAMPP + Apache上安装虚拟主机,以使其工作,以便http://disko.localredirect到存储项目文件的PC中的文件夹。 我已经将以下几行添加到C:\Windows\System32\drivers\etc\hosts : 127.0.0.1 localhost 127.0.0.1 disko.local ::1 localhost 然后继续编辑文件X:\xampp\apache\conf\httpd.conf ,在文件底部添加这些行(它们是否在任何特殊的地方?): # My custom vhosts NameVirtualHost 127.0.0.1 <VirtualHost 127.0.0.1> DocumentRoot "X:\Work\Web Development\Projects\disko\serverroot" ServerName disko.local </VirtualHost> 通过对文件的快速search,我确定这是该文件中唯一的虚拟主机。 然后,我重新启动Apache,打开我的浏览器,并尝试加载页面http://disko.local/artists.html 。 这是出现的错误: 访问被禁止! 您无权访问请求的对象。 它是读取保护的或不可读的服务器。 如果您认为这是服务器错误,请与网站站长联系。 错误403 disko.local 10/22/11 16:06:58 Apache / 2.2.21(Win32)mod_ssl / 2.2.21 OpenSSL / 1.0.0e PHP / 5.3.8 mod_perl / 2.0.4 Perl / […]
试图添加结束斜杠到所有的URL。 这里是代码: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !-f RewriteCond %{REQUEST_URI} !/$ RewriteCond %{REQUEST_URI} !.html$ RewriteCond %{REQUEST_URI} !.xml$ RewriteRule ^(.*[^/])$ $1/ [R=301,L] 它工作,但是。 访问http://www.example.com时,你会得到一个索引页面的克隆。 这对于seo不好。 但http://www.example.com/articles//redirect到http://www.example.com/articles/如何处理索引中的双斜杠? 需要帮忙!
我有一个域名(让我们称之为bar.com),我想默认主机名为foo.bar.com。 所以,bar.com将被redirect到foo.bar.com,而foo.bar.com将对应于主要的httpdocs文件夹(我不希望我的整个网站在子域/ foo / httpdocs中,这只是简单的丑陋多余的)。 我已经将foo.bar.com设置为Plesk中的bar.com的别名,并且工作正常。 然后,将bar.comredirect到foo.bar.com我使用了以下的.htaccess: RewriteCond %{HTTP_HOST} ^foo\.bar\.com RewriteRule ^(.*)$ http://foo.bar.com/$1 [R=301,L] 但是,正如您现在可能已经想到的那样,这会导致redirect循环。 有任何想法吗?
我正在使用Railo编写一个网站。 我的代码将被部署在运行在Tomcat上的Railo服务器上,覆盖在常规的Apache + PHP服务器上。 我需要将所有请求发送到http://subdomain.myserver.co.uk/及其子文件到/public_html/railo/tomcat/webapps/ROOT/subdomain/目录。 我在cPanel中定义了一个子域,文档根目录为/public_html/railo/tomcat/webapps/ROOT/subdomain/ ,但仍然要求http://subdomain.myserver.co.uk/显示/public_html/railo/tomcat/webapps/ROOT/ 。 我可以查看我的文件,如果我请求http://subdomain.myserver.co.uk/subdomain/ 我一直在摆弄.htaccess文件,现在已经有一段时间了,但是我被困住了 有什么办法,我可以做我想要实现的,或者我辞职获取这些网页使用http://subdomain.myserver.co.uk/subdomain/
我想将用户redirect到没有特定variables的url。 例如 mysite.com/?hop=hahaha 我想删除跳variables和redirect到 mysite.com/ 这对于子目录也是如此 mysite.com/subdir/?hop=hahaha或mysite.com/subdir?hop=hahaha 变成mysite.com/subdir 我有这个到目前为止,但它只适用于根域,而不是subdirs RewriteCond %{QUERY_STRING} ^hop= RewriteRule .* /? [R,L] (参考Clickbank将跃点variables添加到着陆页)
我刚刚从.com网站迁移到.co.uk(myurlstudio.com/blog到myurl.co.uk/blog)的子目录中,有一个wordpress博客。 问题是许多post都有图像,而他们的hrefs仍然指向旧域,所以他们不能使用当前的htaccess设置。 图片指向http://www.myurlstudio.com/blog/wp-content/uploads/image.jpg ,当我希望他们指向http://www.myurl.co.uk/blog/wp-content /uploads/image.jpg 。 所以,我需要在htaccess中更改的是“ http://www.myurlstudio.com/blog ”到“ http://www.myurl.co.uk/blog ”,无论它出现在哪里。 目前的htaccess看起来像这样(这是concrete5的标准URL重写scheme): # — concrete5 urls start — <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^(www.)?myurlstudio.com$ RewriteRule ^(.*)$ http://www.myurl.co.uk/$1 [L] RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule> # — concrete5 urls end — 正如你可以看到myurlstudio.com被redirect,但文件内的URL似乎并没有被重写。 任何帮助将非常感激!
我将我的笔记本电脑从Ubuntu 10.04升级到了Ubuntu 11.10。 现在我的Apache Web服务器似乎并不承认.htaccess文件,因为没有我的url重写正在工作。 我尝试了一个a2enmod rewrite但Apache说它已经启用。 我重新启动了Apache服务器,但我的重写仍然无法正常工作。 我试图在我的.htaccess文件中input垃圾文本,希望能够创build错误,如500内部服务器错误,但没有发生错误。 就好像Apache甚至没有阅读我的.htaccess文件。 我的apache2.conf文件有一行表示AccessFileName .htaccess 。 我如何让我的RewriteRules在.htaccess文件再次工作?
我是mod_rewrite的新手。 我的问题:我有两个规则相互碰撞。 在我的文档根目录中,我曾经只有一个.htaccess将所有传入的请求redirect到一个fast-cgi脚本,如下所示: RewriteRule ^(.*)$ fcgi-bin/python-script.fcgi/$1 [QSA,L] 现在我有一个文件夹在我的文档根目录中的PHP脚本,我们称之为“specialdir”。 如何将请求从www.mydomain.com/specialredirect到php的specialfolder而其余的请求仍然发送到fcgi脚本? 我试过了 RewriteRule ^special$ specialfolder/$1 [QSA,L] 但是这个请求显然仍然是由我的“catch all” ^(.*)$指令处理的。 我应该包括某种情况吗? 它将如何看? 编辑 :我完整的.htaccess文件 AddHandler fastcgi-script .fcgi RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f AuthType Basic AuthName "login" AuthUserFile /var/www/v/htuser Require valid-user #php rewrite RewriteRule ^special/(.*) specialfolder/$1 [QSA,L] #trac rewrite RewriteRule ^trac(.*)$ fcgi-bin/trac-proj/$1 [QSA,L] #django rewrite RewriteRule ^(.*)$ fcgi-bin/django/$1 [QSA,L] […]