我试图了解RewriteCond,并希望将任何请求重写为静态html页面(如果存在)或特定index.php(只要请求的文件不存在).
为了说明逻辑:
if HTTP_HOST is '(www\.)?mydomain.com'
if file exists: "/default/static/{REQUEST_URI}.html", then
rewrite .* to /default/static/{REQUEST_URI}.html
else if file exists: {REQUEST_FILENAME}, then
do not rewrite
else
rewrite .* to /default/index.php
Run Code Online (Sandbox Code Playgroud)
当我不需要测试HTTP_HOST时,我似乎没有太多麻烦.最终,这个.htaccess文件将处理多个域的请求.
我知道我可以用vhosts来解决这个问题,但是我想知道如何这样做.
我不太熟悉其他一些标志,它们中的任何一个都可以使用(比如链| C,下一个| N或跳过| S)?
提前致谢!
更新:我设法做到了,但会欣赏替代方案:
RewriteCond %{HTTP_HOST} ^(domainA|domainB)\..* [NC]
RewriteCond %{DOCUMENT_ROOT}/%1/static/%{REQUEST_URI}.html -f
RewriteRule (.*)? /%1/static/$1.html [NC,L]
RewriteCond %{HTTP_HOST} ^(domainA|domainB)\..* [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* /%1/index.php [L,QSA]
Run Code Online (Sandbox Code Playgroud)
更新#2:在Gumbo的回答的帮助下,想出了另一个.我喜欢在添加域的情况下这需要更少的维护.(谢谢Gumbo!)
我有什么理由不设置ENV变量吗?
RewriteCond %{HTTP_HOST} ^(domainA|domainB)\..*$ [NC]
RewriteRule ^ - [E=APP:%1]
RewriteCond %{DOCUMENT_ROOT}/%{ENV:APP}/static/%{REQUEST_URI}.html -f
RewriteRule (.*)? /%{ENV:APP}/static/$1.html [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule …Run Code Online (Sandbox Code Playgroud) 我想使用JAX-RS REST服务作为人类使用浏览器直接使用的Web应用程序的后端.由于人类不时会犯错误,我想验证表单输入并使用验证消息重新显示表单,如果输入错误.默认情况下,如果未发送全部或错误的值,JAX-RS将发送400或404状态代码.
例如,用户在表单字段"count"中输入了"xyz":
@POST
public void create(@FormParam("count") int count) {
...
}
Run Code Online (Sandbox Code Playgroud)
JAX-RS无法将"xyz"转换为int并返回"400 Bad Request".
如何告诉用户他在字段"count"中输入了非法值?有什么比在任何地方使用字符串更方便,并手动进行对话?
我应该在返回实现IDisposable的对象后调用.Dispose()吗?
myDisposableObject Gimme() {
//Code
return disposableResult;
disposableResult.Dispose();
}
Run Code Online (Sandbox Code Playgroud)
换句话说,对象是我返回副本,还是对象本身?谢谢 :)
谁能告诉我如何检查我从*b得到的号码?我想知道这个数字的每个部分,例如,如果这个表达式的结果是25,我想知道第一个数字是2,第二个数字是5.
是否可以在 Java EE 6 中以编程方式对用户进行身份验证?
让我解释一下更多细节:
我有一个带有 Servlet 和 hibernate 的现有 Java SE 项目;我手动管理所有身份验证和访问控制:
class Authenticator {
int Id
string username
}
Authenticator login(string username, string password) ;
void doListData(Authenticator auth) {
if (isLoggedIn(auth)) listData();
else doListError
}
void doUpdateData (Authenticator auth) {
if (isLoggedAsAdmin(auth)) updateData() ;
else doListError();
}
void doListError () {
listError() ;
}
Run Code Online (Sandbox Code Playgroud)
我在这个项目中集成了 J2ee/jpa/servlet 3/... (Glassfish 3)。
我见过这样的注释:
@RolesAllowed ("viewer")
void doListdata (...) {
istData() ;
}
@RolesAllowed("admin")
void doUpdateData (...) {
updateData() …Run Code Online (Sandbox Code Playgroud) 问题:我有一个ASP.NET应用程序,可以创建临时PDF文件(供用户下载).现在,许多用户在很多天内都可以创建许多PDF,这需要占用大量磁盘空间.
安排删除超过1天/ 8小时的文件的最佳方法是什么?最好是在asp.net应用程序本身...
有没有一种简单的方法可以将带有系统路径变量的路径转换为绝对路径?
因此%ProgramFiles%\Internet Explorer\hmmapi.dll变得C:\Program Files\Internet Explorer\hmmapi.dll
我想知道是否有可以执行此操作的API调用,或者我是否必须以困难的方式执行此操作并检测%..%序列并将其替换为相应的环境变量?
我们可以看到,send方法没有重载.
from socket import socket
class PolySocket(socket):
def __init__(self,*p):
print "PolySocket init"
socket.__init__(self,*p)
def sendall(self,*p):
print "PolySocket sendall"
return socket.sendall(self,*p)
def send(self,*p):
print "PolySocket send"
return socket.send(self,*p)
def connect(self,*p):
print "connecting..."
socket.connect(self,*p)
print "connected"
HOST="stackoverflow.com"
PORT=80
readbuffer=""
s=PolySocket()
s.connect((HOST, PORT))
s.send("a")
s.sendall("a")
Run Code Online (Sandbox Code Playgroud)
输出:
PolySocket init
connecting...
connected
PolySocket sendall
Run Code Online (Sandbox Code Playgroud) 我试图将链接与图像居中,但似乎无法以任何方式垂直移动内容.
<h4>More Information</h4>
<a href="#" class="pdf">File Name</a>
Run Code Online (Sandbox Code Playgroud)
图标为22 x 22px
.pdf {
font-size: 12px;
}
.pdf:before {
padding:0 5px 0 0;
content: url(../img/icon/pdf_small.png);
}
.pdf:after {
content: " ( .pdf )";
font-size: 10px;
}
.pdf:hover:after {
color: #000;
}
Run Code Online (Sandbox Code Playgroud) 我创建了一个特定的List,它存在于以下元素之外,用于创建一个可滚动的列表,每行包含左侧的Image和右侧的一些文本:
首先是"根"布局:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#C8C8C8"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
android:divider="#C8C8C8"
android:background="#C8C8C8"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
然后在ListView中我放置以下"行"项:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/bg_row"
>
<ImageView
android:layout_width="wrap_content"
android:paddingLeft="10px"
android:paddingRight="15px"
android:paddingTop="5px"
android:paddingBottom="5px"
android:layout_height="wrap_content"
android:src="@drawable/bg_image"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="5px"
android:paddingBottom="5px"
android:textSize="16sp"
android:textColor="#000000"
android:layout_gravity="center"
android:maxHeight="50px"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
只要屏幕静态显示(没有移动)就会正确显示,但是当我开始滚动列表时,行项目的背景(代码中显示的"图标")将是正确显示,但"根"布局的背景将变成完全黑色...当滚动停止时,背景将会,大多数时候,恢复它的颜色...当我测试时我也在TextView该根元素中添加了一个具有相同的背景,当滚动列表时,这个将保留它的颜色...任何想法为什么会发生这种情况,以及如何解决这个问题?
c# ×2
java ×2
vb.net ×2
.net ×1
android ×1
apache ×1
asp.net ×1
c++ ×1
css ×1
css-content ×1
delphi ×1
dispose ×1
forms ×1
idisposable ×1
inheritance ×1
jakarta-ee ×1
java-ee-6 ×1
jax-rs ×1
listview ×1
mod-rewrite ×1
overloading ×1
path ×1
python ×1
rbac ×1
security ×1
validation ×1