我正在尝试编写URL重写规则来强制HTTPS连接.除非请求使用localhost(例如http://localhost/mysite),否则应始终发生这种情况.
规则配置如下:
<rule name="Redirect to https" enabled="true" stopProcessing="true">
<match url="(.*)" negate="false" />
<conditions trackAllCaptures="false">
<add input="{HTTPS}" pattern="^OFF$" />
<add input="{URL}" pattern="localhost" negate="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>
Run Code Online (Sandbox Code Playgroud)
我也尝试使用^ localhost和^ localhost /(.*)作为URL条件的模式,没有任何帮助.有没有人知道为什么这不起作用,这个问题的解决方案应该是什么?
我对.htaccessRegEx还是很陌生,对此感到非常沮丧,但是我可能过于复杂了。基本上:
HTTP_HOST将是多个域之一,应按原样保留,包括子域,除非 www.应始终删除 domain1“ domain2”具有SSL,因此HTTPS应强制使用,但任何其他都应强制使用HTTP foo,则重写foo该子文件夹,而不是子文件夹。 foo.是子域:
foo.*.com/index.php缺少/禁止的网页没有在foo子域仍应被发送到\index.php根,这我目前正在做的:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ /index.php [last,nocase]
Run Code Online (Sandbox Code Playgroud)我的尝试:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteRule ^(.*)$ $1 [L]
RewriteCond %{HTTP_HOST} domain1\.ca [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L]
RewriteCond %{HTTP_HOST} !domain1\.ca [NC]
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L]
RewriteCond %{REQUEST_URI} ^/foo.* …Run Code Online (Sandbox Code Playgroud) .htaccess.URLs.我想要:
demo.example.com/section.php?id=1
Run Code Online (Sandbox Code Playgroud)
变成:
demo.example.com/section/sample-section
Run Code Online (Sandbox Code Playgroud)
我试过了
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^section/(\d+)*$ ./section.php?id=$1
Run Code Online (Sandbox Code Playgroud)
但没有区别
谢谢.
我将感谢你的帮助.
我想知道,tumblr如何做这样的个人资料网址:
http://www.username.tumblr.com/
http://username.tumblr.com/
Run Code Online (Sandbox Code Playgroud)
我知道我们可以更改个人资料网址
http://www.website.com/profile.php?user=username
Run Code Online (Sandbox Code Playgroud)
至
http://www.website.com/username
Run Code Online (Sandbox Code Playgroud)
使用以下内容 RewriteRule
RewriteRule ^([^/]+)/?$ profile.php?user=$1 [L,QSA,NC]
Run Code Online (Sandbox Code Playgroud)
我不知道tumblr如何做这些个人资料网址.
我们如何制作这样的用户个人资料网址:
http://www.username.website.com/
http://username.website.com/
Run Code Online (Sandbox Code Playgroud)
我有一个VirtualHost.
web.config我的服务器上有这个文件.
<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>
<rule name="Rule" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
<add input="{URL}" pattern="^/favicon.ico$" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
Run Code Online (Sandbox Code Playgroud)
我想将URL从www重定向到非www.例如,如果用户输入www.exmaple.com,则应该转到https://example.com
如何在上面的代码中编辑这样的东西.谢谢.
是否可以在特定日期/时间重定向?
例如...在 7 月 30 日上午 10 点重定向网站的 htaccess 代码是什么?
这是我当前的 htaccess 代码,其中将包含我的要求(见上文)
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [R,L]
RewriteCond $1 !^(index\.php)
RewriteCond %{REQUEST_URI} !(\.png|\.jpg)$
RewriteRule ^(.*)$ index.php?l=$1 [L]
RewriteCond %{THE_REQUEST} ^GET\ /(.+)\.html [NC]
RewriteRule ^ /%1? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.html [NC,L]
Run Code Online (Sandbox Code Playgroud) 最近我收到一封邮件,上面写着2012年12月是一个奇特的月份.这个月有五个星期六,五个星期日和五个星期一.它也说这将在700年左右发生一次.所以,我需要检查一下,在2000年到2100年,将分别有五个星期六,星期日和星期一.
这可以通过java(特别是使用Calander API)实现吗?
任何包含示例代码的想法都是适用的.
谢谢.
.htaccess ×4
mod-rewrite ×4
iis ×2
redirect ×2
rewrite ×2
apache ×1
azure ×1
java ×1
virtualhost ×1
web-config ×1