我有这样的URL http://www.abcdef.com/somthing.php 我想使用相同的文件内容,但类似的URL格式 http://www.abcdef.com/exp/go/to/123 为此,我需要修改PHP或HTACCESS文件? 解决方案 .htaccess文件 对于您的示例,您将使用: RewriteEngine on Redirect ^/exp/go/to/123$ /somthing.php [L] 使用"/exp/go/to/123" URL结构的主要原因是因为可以将不同的元素用作变量来加载页面,在这种情况下可以使用: RewriteEngine on Redirect ^/exp/go/to/([0-9]+)$ /somthing.php:id=$1 [L] 它将将123从URL中取出,然后将其传递到Wory.php作为ID参数.
以下是关于 virtual-directory 的编程技术问答
我在phpinfo.php中禁用了"虚拟目录支持",我该如何启用? 解决方案 简而言之:您不能轻易.而且您不应该. 更长的故事:PHP应该提供共享的环境.在这种情况下,这意味着如果两个脚本并行运行,它们不应干扰.在大多数情况下,这不是问题,因为不同的脚本使用不同的过程. (带有mod_prefork,fastcgi,fpm等的Apache模块) 但是,在某些情况下,人们在螺纹环境中使用PHP作为模块. (Microsoft IIS模块,Apache mod_mpm模块等)如果是这种情况,PHP不能依靠操作系统来分开上下文,而必须自己进行. 一个相关区域是当前的工作目录.您提到的选项是关于此的,名称具有误导性:它不是"虚拟目录支持",而是"虚拟当前工作目录支持".这是文件系统操作的抽象. 因此,当在不同线程和代码(例如include "./foo.php";)中有两个PHP请求时,您希望这与请求的主脚本相对,而不是环境的全局状态. VCWD支持可以做到这一点
我有一个经典的ASP网站,我们已将其从IIS 6移至Win2K8和IIS.7.在网站文件夹结构中,是一个虚拟目录,称为包含JPG的产品,该目录包含JPG,它们物理存储在同一服务器上. > . 在Web浏览器中,任何产品JPG在页面上正确显示.例如. http://www.mysite.com/images/images/poducts/widget.jpg 工作. 但是,尝试在ASP代码中访问ASP代码时,该文件夹是不可用的 - 除虚拟目录外,所有其他文件/文件夹都存在.这是一个示例ASP代码段: Set objFSO = Server.CreateObject( "Scripting.FileSystemObject" ) Set objBaseFolder = objFSO.GetFolder( Server.Mappath( "../../Images" ) ) For Each objFolder In objBaseFolder.SubFolders
这应该很容易做到,但是我撞到了墙上.如果我收到www.mysite.com/mypath的请求,我想提供www.mysite.com/myotherpath/thisfile.html的内容.我该如何使用nginx config. 解决方案 在适当的位置块中使用重写指令.因此,例如,您有基本位置,该位置将处理所有请求 location / { /*your rules here*/ } 您需要添加另一个块,这将为您处理特定路径 location /mypath { rewrite ^/mypath$ /real/path/to/file/thisfile.html; } 也要让您的服务器在该块中思考thisfile.html默认值您可以使用try thisfile.html指令 在官方页面上都很好地解释 其他解决方案 location = /mypath { try_files /myotherpath/thisfile.h
我有一个网站,最终将支持4种语言和2个国家(美国和加拿大,英语和西班牙语) 我想知道设置目录结构的最佳方法是什么? 现在,我有一个名为site.com的根网站: 这将带您进入您选择国家和语言的页面. 理想情况下,我想拥有这样的目录: site.com/ca/en/ (Canada English) site.com/ca/fr/ (Canada French) site.com/us/en/ (US English) site.com/us/es/ (US Spanish) 但这将意味着我将在其中放置一个" CA"和"我们"虚拟目录和语言虚拟目录.是好的练习,还是我应该做类似的事情: site.com/ca-en/ (Canada English) site.com/ca-fr/ (Canada French) site.com/us-en/ (US English) site.com/us-es/ (US Spanish) 编辑:我已经完成了
我使用msdeploy的项目将软件包发布给IIS.它通过现有版本的项目部署.在Web应用程序中,我有一个虚拟目录,但是每次部署项目时,虚拟目录都会消失. 我以以下方式调用msdepoly: -source:package='d:\[...]\9.1.0.67\application\AppName.zip' -dest:auto,computerName="hostSite.com",userName="AutoInstall",password="****",authtype="NTLM",includeAcls="False" -verb:sync -enableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -setParamFile:"d:\...\9.1.0.67\application\AppName.SetParameters.xml"
在VS2010/IIS 7.5上开发网站时,我正在使用Web部署将网站从我的计算机发布到Dev Site Server. 该网站约有40个虚拟目录,我想在部署期间自动创建服务器上的这些目录.有一个简单的方法吗? 我正在考虑编写一个小应用程序,该应用程序将从文件或数据库中加载列表并按需创建它们.这些目录在我的开发机器上的物理路径与Web服务器上的物理路径不同,这也将扳手投入工作中. 解决方案 如果您将MSBUILD用于Web部署,则可以在.NET中编写一个customBuildTask,您可以使用该网络来创建虚拟目录. 关于如何创建和消耗自定义构建任务的资源很多,但是我使用的是使用自定义构建任务创建虚拟目录的代码: public void CreateVirtualDirectory() { DirectoryEntry oDE = new DirectoryEntry("IIS://" + this._strServerN
如果我在Visual Studio 2010中查看Web应用程序的软件包/发布设置,则可以选择"包括IIS Manager中配置的所有IIS设置(仅用于IIS Web Projects)" 我正在使用IIS而不是VS Dev服务器来运行我的Web应用程序,但是当我部署Web部署到远程服务器的软件包时,将应用于我的远程IIS应用程序的IIS设置至少是不熟悉,最坏的情况是完全错误的. 例如,我的本地IIS有2个虚拟目录(图像,声音).但是,当我部署时,它会创建4个完全不同的虚拟目录(_controltemplates,_layouts,_vti_bin,_wpresources),如果我事先手动在远程服务器上手动创建2个正确的VDIR,Web部署将删除它们. Web部署从哪里获取这些? Web部署还错误地应用了远程IIS应用程序上正确的身份验证设置. 由于"包含IIS Manager中配置的所有IIS设置"设置似乎并没有选择正确的设置,因此我最终希望能够创建某种配置文件,W
我正在寻找一个DOS命令,以列出Windows 2003下IIS 6中的所有站点和虚拟目录.我知道有一些方法可以使用 powershell/wmi , vbs , c#等等,但是我想要的只是一种快速而肮脏的,无需DOS的方法,无需在Web服务器上创建任何新文件. 编辑:在研究这个问题的同时,我设法提出了一个单线,但是如果您有一个更优雅的解决方案,请建议您替代方案. . 解决方案 这是我想到的: @FOR /F "delims=[]" %A IN ('@cscript //nologo %SystemDrive%\Inetpub\AdminScripts\adsutil.vbs ENUM /P /w3svc') DO @FOR /F delims^=^"^ tokens^=2 %B IN ('@cscript //nologo %SystemDrive%\Inetpub\AdminScripts\adsutil.vbs GET %A/ServerComment') D
我刚刚看到一个root /目录在任何rootfs 之前(无论是从initrd还是Form a disk) 我已经知道它确实包含/root和/dev带有安装的devtmpfs (如果选择CONFIG_DEVTMPFS_MOUNT). . ,但我找不到是否还有其他目录,它们是哪个目录. 因此,要点是在printk第403行之前插入init/do_mounts.c列表到屏幕上的代码. 问题是我不知道如何使用struct ovireent来获取旧readdir() (int readdir(unsigned int fd, struct dirent *dirp, unsigned int count);) 的目录列表 解决方案 您可以使用filp_open()从内核空间打开文件. 您要使用函数itterenate_dir(). 您必须定义struct dir_context(包括/linux/fs.h)并提供某种填充功能(也许类似于将条目添加到列表中). 其他
我已经想到了3天. 我有一个标记为Content和Always Copy的XML文件. 该文件被复制到: C:\Users\avi\Documents\Visual Studio 2010\Projects\ExpressBroker\ExpressBroker\bin\XMLMetadata\Actions.1.xml 访问文件时: //like that: XDocument actions = XDocument.Load("bin\\XMLMetadata\\Actions.1.xml"); //or like that: XDocument actions = XDocument.Load("XMLMetadata\\Actions.1.xml"); //or like that: XDocument actions = XDocument.Load("Actions.1.xml"); 我得到以下例外: Exception Details: System.
我们正在使用表单身份验证来验证用户.在我们的应用程序中,有一个页面可以下载EXE. 当我在Visual Studio中调试代码时,它仅允许登录的用户下载该文件.当其他用户尝试下载文件时,它们会自动重定向到登录页面. 但是,当我从虚拟目录运行它时,所有用户(是否登录)都可以通过访问http://testappln/foldername/test.exe> http://testappln/foldername/test.exe的直接路径下载文件. 如何防止在这种情况下访问未经授权的用户? 解决方案 一种可能性是将文件放入App_Data文件夹中,该文件夹被禁止直接访问,然后使用一个通用的ASHX处理程序来读取文件的内容并将其返回给客户端.然后,您可以将对该通用处理程序的访问限制为仅认证的用户: using System; using System.Web;
我能找到的整个互联网上唯一的解释是在 指定应用程序根URL的替代路径.用这个 选项如果Web应用程序根不是您项目的根源. 来自在这里我知道 "应用程序根"是在ASP.NET中使用Tilde时检索的路径.因此,我希望,如果我转到Project的属性-Web-" Override Application root"并指定另一个URL,则Tilde将映射到该URL. 但事实并非如此.例如,我的网络在虚拟目录上 - http://localhost/WebApplication1 在" Override Application root"上,我尝试指定http://localhost/WebApplication2或http://localhost或http://WebApplication2(所有这些都存在于我的本地IIS上).现在我写 Response.Redirect("~/test2/login"); 我希望它将我重定向到http://localhost/WebA
我正在尝试将虚拟目录添加到我的dotnet core API中.但这给了我404. This api.project.nl page can’t be found No web page was found for the web address: https://api.project.nl/v1/uploads/profiles/profile.jpeg 我在下面的IIS Project配置中可以看到,在Main IIS网站下设置了API. API工作正常,我甚至可以在我的wwwroot中到达/docs文件夹,该文件夹使用index.html(对于自定义Swagger UI Docs). i can 到达Projects - Api文件夹下的uploads文件夹 https://api.project.nl/uploads/profiles/profile.jpeg 但是它无法在v1虚拟应用程序下到达uploads文件夹. https://api
我的目标是在多个网站上共享图像,CSS,JS等.这些网站均在IIS中的同一父虚拟目录下托管.当然,我可以用力编码图像路径,但是我希望.NET有一种可以使用IIS配置明智地解决URL的方法. 这是我的文件/虚拟目录结构: Parent Site (Virtual Directory) default.aspx mypage.aspx otherpage.aspx images - logo.jpg css - site.css Subsite1 (Virtual Directory) - default.aspx - products.aspx Subsite2 (Virtual Directory) - default.aspx - products.aspx - miscellaneous.aspx Parent Site,Subsite1和Subsite2都是为 http://pare
在IIS中,是否有一种方法可以定义某种过滤"> calloflocking">过滤"> callofing"> callofing"> callofing"> callofing"> callofloling"> colliting"> callofloling"> callofloll"> calloflowl">规则除非通过某种加密查询字符串"预先签名",否则拒绝虚拟目录中的文件访问?还有一个方法可以使请求过期吗?我找不到控制这个的方法. 我要寻找的内容与Amazon S3 Amazon.S3.Model.GetPreSignedUrlRequest.Expires属性所提供的内容非常相似,但是在IIS中. 所需目标的方案: 请求: 默认情况下应始终导致"访问被拒绝".但是,将特定的查询字符串附加到请求URL上应给予对文件的访问.另外,我需要在一段时间后在提供新的有效查询字符串之前到期. . 解决方案 您将需要某种HTTP模块来处理此问题,因为有自定义逻辑可以实
我试图根据部署到的IIS虚拟目录的名称更改C#WCF logFile的名称. 我尝试使用directory.getCurrentDirectory()调用,但它返回目录C:\ Windows \ System32 \ inetsrv,无论将WCF应用程序部署到.. >,无论哪个虚拟目录. 所以我应该研究virtualDirectory类?有关如何找到当前虚拟目录的任何示例代码? 谢谢! 解决方案 您是否尝试过: string path = HostingEnvironment.MapPath("~"); 其他解决方案 HostingEnvironment.ApplicationPhysicalPath 以更直接的方式给您与接受的答案相同的东西.
嗨,我不确定该怎么做,我正在使用共享托管.我在 http://www.example.com/images 上.该目录实际上是服务器资产/图像上的文件夹,而我的网站在/httpdocs(httpdocs和Assets文件夹处于同一级别). 如何将文件保存到此文件夹,然后使用eg/images/foo.jpg? 访问 httpdocs/ -web.config -default.aspx -ETC 资产/ - 图像/ ----- foo.jpg 解决方案 您可以正常保存文件(使用FileStream或其他东西). 呼叫Server.MapPath("~/httpdocs")获取磁盘上的路径. 其他解决方案 最简单的方法是在IIS管理器中创建一个虚拟目录,以便/图像实际上指向资产\ images(您说您已经有一个虚拟目录,因此可能已经完成了).为了保存在那里的东西,您使用server.mappath("〜/images"),如提到的. server
我想实现的目标很简单: 我有一个网站,说" my -site" - http://localhost 在本网站中,我有一个(物理)文件夹" foo" - http://localhost/foo 在" foo" -folder内部,我想拥有一个称为"上传"的虚拟目录(应用程序?),因此URL变为 http://localhost/foo/upload 请注意," My-Site"是一个空的网站,其中包含一堆文件夹," foo"," bar"," baz"等 因此,当我右键单击" foo"并选择" new>虚拟目录"并添加我在vs.net中编写的应用程序,然后尝试导航到 http://localhost/foo/upload 我得到此错误: Parser Error Message: An error occurred loading a configuration file: Failed to start monitoring changes to 'C:\I
说我有网站 http://localhost/virtual 其中虚拟是虚拟目录 我有一个使用jquery 在JavaScript文件中定义的AJAX请求 $.getJSON("/Controller/Action") 当调用这一点时,客户端试图在根级别上找到URL,即 http://localhost/controller/action 如果我在中添加tilde(〜)符号,它会变成 http://localhost/virtual/〜/controler/contracter/action 应该(如果要做我想做的话) http://localhost/virtual/controller/controller/action 关于如何解决此问题的任何想法? 解决方案 Aku的提示在上面看上去正确,但它不想为我工作.最后,我想出了像这样的使用 var config = {