我通过一个.htaccess文件为我的webspaceconfiguration身份validation(我无法控制httpd.conf文件)。 对于一个安全的实现,我有一个HTTP自动redirect到HTTPS通过 RewriteEngine on RewriteCond %{HTTPS} !=on RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=307,L] 对于身份validation,我使用以下几行 AuthType Basic AuthName name AuthUserFile ..path-to-htpasswd.. require valid-user 如果我通过http访问资源,我必须input用户名和密码两次(第一次获得307redirect,第二次获得实际文档)。 是否有一种方法仅适用于HTTPS-Requestauthentication? 所以一个HTTP请求直接获得redirect,这样我就只需要对自己进行一次authentication。 问候并感谢您的回答
我昨天在WordPress网站上工作,主要是在Web性能优化能力(在共享主机上)。 有一次,我注意到我的.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 # From the HTML5 Boilerplate # https://github.com/h5bp/html5-boilerplate/blob/master/.htaccess # Apache Server Configs v2.0.0 | MIT License # https://github.com/h5bp/server-configs-apache … # BEGIN WordPress RewriteEngine on # # Unless […]
我想将我的客户的网站之一从免费主机迁移到付费主机。 目前,网站/域名是在免费主机的子文件夹( https://my.bluehost.com/cgi/help/347 )中使用的。 我想将网站移动到付费主机,但在新主机的网站不会在子文件夹。 从SEO的angular度来看,我需要告诉谷歌(使用.htaccess)该网站已被迁移到付费主机,不再托pipe在一个子文件夹。 谢谢dkj
我最近为我在一个子域http://technotes.tostaky.biz上维护的博客设置了一个新的URL http://www.mytechnotes.biz 。 redirect在以下情况下起作用: technotes.tostaky.biz -> www.mytechnotes.biz www.technotes.tostaky.biz -> www.mytechnotes.biz 但在这种情况下不起作用: http://technotes.tostaky.biz/2012/11/introduction-to-css-concepts.html 然而,下面的页面存在: www.technotes.biz/2012/11/introduction-to-css-concepts.html 我的.htaccess文件的内容是: RewriteEngine On RewriteCond %{HTTP_HOST} ^technotes\.tostaky\.biz$ [OR] RewriteCond %{HTTP_HOST} ^www\.technotes\.tostaky\.biz$ RewriteRule ^/?$ "http\:\/\/www\.mytechnotes\.biz\/" [R=301,L] 我不是系统pipe理员。 我依靠我的主机的CPanelconfiguration,但我无法解决此问题。 任何人都知道如何解决它? 谢谢!
我正在设置一个社交networking脚本,它有一个桌面和移动版本的网站。 当移动设备尝试浏览网站时,移动页面将与www.example.com/mobileurl一起提供。我想要.htaccess重写规则,可以将所有www.example.com/mobileurl更改为m.example。 com没有实际上redirect到子域这是我能想出的 RewriteCond %{HTTP_HOST} ^m.example.com RewriteRule (.*) http://www.example.com/mobile/$1 [R=301,L] 但我得到一个错误… Rewitecond: Bad flag delimiters如何解决这个问题或什么将是一个更好的方法来做到这一点? PS我没有一个.htaccess文件我直接在httpd.conf指令中设置这些规则。 我不认为这会有什么区别,只是认为最好提一下……以防万一。 我已经移动启用.htaccess并从httpd.conf文件采取重写规则,并testing如果。htaccess的作品,也是mod_rewrite启用。 我正在使用此代码来validationmod_rewrite是否确实启用 <?php ob_start(); phpinfo(INFO_MODULES); $contents = ob_get_contents(); ob_end_clean(); var_dump(strpos($contents, 'mod_rewrite') !== false); ?> 当我运行这个文件,我得到一个输出bool(true)还我注意到像下面的一个重写规则工作正常 # 301 redirect if missing www. RewriteCond %{HTTP_HOST} !^$ RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteCond %{HTTPS}s ^on(s)| RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 但规则这些规则将无法正常工作 RewriteRule ^link([^/]*).html$ […]
我已经改变了我的虚拟主机提供商,现在我有一个configuration问题:在我的网站的根,我有一个名为beta.html的文件。 即使以http://example.com/beta或http://example.com/beta/访问,以前的虚拟主机上的Apacheconfiguration也会提供其内容。 新的虚拟主机上的Apache将这两种情况视为404错误。 请注意,该网站上没有名为beta目录。 有没有什么我可以用.htaccess做到这一点,以便它服务beta.html的内容,而无需客户端redirect?
在我的设置中,我有我的CMS驻留在一个子文件夹/子,我重写所有的访问根到这个子文件夹: ## Rewrite www.example.com to the CMS home page: www.example.com/corporate/index.php RewriteRule ^$ sub/index.php [L] ## Let the CMS process paths like www.example.com/corporate/about RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^sub/(.*)$ sub/index.php?q=$1 [L,QSA] ## Search for real CMS files that moved, ## (eg www.example.com/flash/intro.swf to www.example.com/corporate/flash/intro.swf) RewriteCond %{DOCUMENT_ROOT}/sub/$1 -f RewriteRule ^(.*)$ sub/$1 [L] ## Let CMS process all paths […]
我在网站上更改了类别url。 老是这样的: www.example-name.com/category-name-exactly-same-keywords / www.example-name.com/category-name- 完全相同的关键字 /子类别名称– 完全相同的关键字 / 新url: www.example-name.com/category-name/ www.example-name.com/category/subcategory-name/ 我从类别url中删除了“ 完全相同的关键字 ”。 在我的.htaccess中我有这样的: # Category 301 redirection RewriteRule ^ -some-category-suffix(。*)$ $ 1 [L,R = 301] 这很好,如果只有一个类别级别,它会重写: www.example-name.com/category-name-exactly-same-keywords / 至: www.example-name.com/category-name/ 但是,如果有多个类别级别,它只会删除最后一个 www.example-name.com/category-name- 完全相同的关键字 /子类别名称– 完全相同的关键字 / 至: www.example-name.com/category-exactly-same-keywords / subcategory-name / ————————————————– —————————————- 如果重新(删除)“ – 完全相同的关键字 ”的所有实例,如果旧url中有多个url到没有url的新url?
我努力让我的代码在nginx上工作。 这个configuration适用于lighttpd,但是我想把它迁移到nginx。 在lighttd上重写规则: url.rewrite-once = ( "^/(ui)/(.*)$" => "/gi.php/$1/$2", "/(.*)\.(.*)" => "$0", "/(xhr|js-api)/(.*)" => "$0", "^/([^.]+)$" => "/gi.php/$1" ) 任何人都可以帮助在这个转换? 我尝试了很多东西,包括将其转换为Apache重写规则,但没有一个工作。 Nginx规则: if (!-f $request_filename){ set $rule_0 1$rule_0; } if (!-d $request_filename){ set $rule_0 2$rule_0; } if ($rule_0 = "21"){ rewrite ^/(.*)$ /gi.php/$1 last; } Error : 404 有什么build议么?
我们有两个不同版本的网站 – 一个用于旧版Internet Explorer(7和8),另一个用于所有其他浏览器。 (围绕JS特征检测的争论已经做出了,但是我们发现这样做更容易!) 我们想静静地(即没有301)文件从一个不同的目录服务 – 所以请求: /app/foo/bar 将从目录中提供: html/ie/foo/bar 对于Internet Explorer 8及更低版本,以及其他浏览器: html/other/foo/bar 这有可能实现使用.htaccess?