我试图让我的网站上的所有HTML和PHP文件重定向到index.php,这样他们可以将常用的框架应用到它们,这是我编写的模板化解决方案,我发现它非常优雅.Anywho,我的PHP文件有问题,特别是那些后面有参数的文件.
我对PHP文件的常规规则如下:
RewriteCond %{REQUEST_URI} !index.php$
RewriteRule ^(.+).php$ index.php?page=$1&type=1 [NC,L]
Run Code Online (Sandbox Code Playgroud)
这适用于任何没有参数的页面,但是你可以看到任何有PHP的文档
?argument=something
Run Code Online (Sandbox Code Playgroud)
结束为:
index.php?page=path/to/page?argument=something&type=1
Run Code Online (Sandbox Code Playgroud)
这根本不是一个有效的解决方案.现在,困扰我的是规则结束时的$,如果在.php之后有什么东西,那不应该导致它失败吗?
Anywho,我尝试重写规则为:
RewriteRule ^(.+).php\?(.+)$ index.php?page=$1&type=1&$2 [NC,L]
Run Code Online (Sandbox Code Playgroud)
但这根本不会触发.似乎mod_rewrite中使用的正则表达式风格与我以前使用的有很大不同,所以我确信这些是我做过的简单错误,但我似乎无法找到这种正则表达式的正确文档除了最基本的例子.
任何人都可以告诉我我做错了什么吗?谢谢.
据我所知,当Git为文件分配SHA1哈希时,该SHA1对于文件的内容是唯一的.
因此,如果文件从一个存储库移动到另一个存储库,则该文件的SHA1保持不变,因为其内容未更改.
Git如何计算SHA1摘要?它是在完整的未压缩文件内容上执行的吗?
我想模仿在Git之外分配SHA1.
该YAGNI "原则"规定,你不应该集中在你需要像以前提供的功能:"你是不是要去需要它"反正.
我通常倾向于使用常识高于任何规则,无论如何,但有时我认为如果你有充分的理由过度设计或将来证明某些东西,即使你可能永远不会使用它.
我现在掌握的实际案例或多或少是这样的:
我有一个应用程序必须运行在一个简单的专有通信协议(OSI级别4).该协议具有一组理想的特性(例如遵循NORM规范),它们为应用程序提供稳健性,但并不是严格要求的(UDP多播可以执行可接受的).
还有一个事实是,该应用程序可能(但不一定)将来会被其他客户使用,而这些客户将无法访问专有解决方案,因此需要另一种解决方案.我知道另一个客户端应用程序的概率很高.
那么,你的想法是什么?我应该只设计专有协议并将重构,接口提取等留给我真正需要的时候,还是应该设计现在考虑(不是到目前为止)的未来?
注意:为了清楚起见,我有兴趣听到对一般问题(何时违反YAGNI)的所有意见,但我真的想对我目前的困境提出一些建议或想法:)
有人知道如何在MSVC中关闭异常处理选项吗?我试图将"启用C++异常"选项设置为"否",我收到警告:警告C4530:使用了C++异常处理程序,但未启用展开语义.指定/EHsc
.
我也想关闭异常处理程序,但我不知道如何.
在我的应用程序中,我基本上需要比稳定性更快的速度,因此我选择关闭异常处理.我没有任何try
/ catch
块,但我确实使用STL.当我将"启用C++异常"选项切换为"否"时,有什么方法可以摆脱这些警告吗?
我希望能够为用户通过GET请求下载的某些项目设置很长的到期时间.
我想说'这有利于10分钟'(即我想设置一个Expires标头+10分钟).请求是通过AJAX在页面中显示的HTML片段,它们对用户的会话很有用.我不想回到服务器并获得304,如果他们再次需要它们 - 我希望浏览器缓存立即给我相同的项目.
我发现了一篇关于MVC Action过滤器缓存和压缩的文章已有近一年的历史.这将创建一个自定义ActionFilter来更改过期标头.我已经在使用压缩过滤器,它对我正在生成的一些自定义css非常有效(压缩率为94%!).
我有两个主要问题:
1)我真的必须使用这种方法.如果我这样做的话,我很好,但MVC或OutputCache功能中是否真的没有为我做这个功能?在'传统'ASP.NET中,我总是手动设置Expires头,但我们不能再这样做了 - 至少在控制器中不行.
2)如果我使用这种过滤方法 - 是否会干扰OutputCache策略 - 我希望能够在web.config中控制它.我有点认为这两者是相互排斥的,你不会想要两者 - 但我不完全确定.
我们正在尝试使用Log4Net从我们的IIS 6部署的WCF应用程序进行日志记录.我们正在尝试登录到一个文件,但似乎无法创建日志文件,更不用说看到它们中的日志输出了.web.config的相关部分是:
<sectionGroup name="common">
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
</sectionGroup>
...
<common>
<logging>
<factoryAdapter type="Common.Logging.Simple.TraceLoggerFactoryAdapter, Common.Logging">
<arg key="level" value="INFO" />
<arg key="showLogName" value="true" />
<arg key="showDataTime" value="true" />
<arg key="dateTimeFormat" value="yyyy/MM/dd HH:mm:ss:fff" />
</factoryAdapter>
</logging>
</common>
<log4net>
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="c:\logs\ApplicationInfoTest.log" />
<threshold value="INFO" />
<param name="AppendToFile" value="true" />
<param name="DatePattern" value="ddMMyyyy" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="10MB" />
<param name="RollingStyle" value="Size" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="Header" value="\r\n\r\n---------------------------------------------\r\n" />
<param name="Footer" value="\r\n---------------------------------------------\r\n\r\n" …
Run Code Online (Sandbox Code Playgroud) 我根本不懂巴克明斯特.假设我有一个项目,它需要log4j和junit4.我如何开始,我需要做什么,指定依赖项并在eclipse中将依赖项添加到我的类路径中.是否有任何教程显示它是如何完成的?
我想检查linux bash是否创建了一个文件超过x时间.
假设该文件名为text.txt,时间为2小时.
if [ what? ]
then
echo "old enough"
fi
Run Code Online (Sandbox Code Playgroud) 我读过这篇关于卡片改组的帖子,在许多改组和排序算法中你需要交换列表或数组中的两个项目.但优质高效的Swap方法是什么样的呢?
让我们说一个T[]
和一个List<T>
.您如何才能最好地实现在这两个项目中交换两个项目的方法?
Swap(ref cards[i], ref cards[n]); // How is Swap implemented?
Run Code Online (Sandbox Code Playgroud) 我最近对算法感兴趣,并开始通过编写一个简单的实现,然后以各种方式优化它来探索它们.
我已经熟悉用于分析运行时的标准Python模块(对于大多数事情我已经发现IPython中的timeit魔术功能已足够),但我也对内存使用感兴趣,所以我也可以探索这些权衡(例如,缓存先前计算的值表的成本与根据需要重新计算它们的成本.是否有一个模块可以为我分析给定函数的内存使用情况?
c# ×2
apache ×1
asp.net-mvc ×1
bash ×1
buckminster ×1
build ×1
command-line ×1
eclipse ×1
git ×1
iis-6 ×1
java ×1
linux ×1
log4net ×1
memory ×1
mod-rewrite ×1
outputcache ×1
profiling ×1
python ×1
sha1 ×1
shuffle ×1
sorting ×1
visual-c++ ×1
web-config ×1
yagni ×1