我在.htaccess文件中有8行重写规则。 我需要从这些规则中排除服务器上的两个物理目录,以便它们可以被访问。 现在所有请求都发送到index.php文件。 目录排除:“pipe理员”和“用户”。 所以http请求:http: //www.domain.com/admin/不应该传递给index.php文件。 ErrorDocument 404 /index.php?mod=error404 Options FollowSymLinks RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L] RewriteRule ^([^/] )/([^/] )\.html$ index.php?lang=$1&mod=$2 [L] RewriteRule ^([^/] )/$ index.php?lang=$1&mod=home [L]
我在我的网站的根目录中有一个网站http://www.example.com/ ,我添加了.htaccess文件来将http://example.com/的任何请求redirect到http://www.example。 COM / 最近我创build了一个新的部分“video”,所以video的URL是http://www.example.com/videos/ 。 在这个video文件夹中,我有另一个正在执行重写video条目的htaccess文件。 当我尝试访问http://example.com/videos/时,它不会将我redirect到http://www.example.com/videos/ 我认为.htacces不是从父目录inheritance以前的规则。 任何人都可以告诉我什么可以是我可以在/ videos /文件夹的.htaccess文件中添加的规则,以便http://example.com/videos/的任何请求将被redirect到http://www.example。 com / videos / URL。
有没有办法将RewriteBase设置为相对于主机根的path当前文件夹(.htaccess文件所在的文件夹)? 我有一个CMS,如果我把它移动到我的主机中的目录,它不工作,除非我把RewriteBase设置为相对于主机根目录的path。 我希望我的CMS只能复制和粘贴,而不需要在htaccess中更改任何代码。 更新: 例如: webroot – sub_directory – cms – .htaccess 在这种情况下,我应该写在htaccess: RwriteBase / 如果我移动子目录内的htaccess我应该改变RwriteBase为: RewriteBase /sub_directory/ 所以我想要类似的东西 RewriteBase /%{current_folder}/
在托pipe的IIS7环境中,我正在寻找使用无扩展名文件名的最简单的方法。 简单地说,我有以下几页: index.html(或.aspx) – > domain.com gallery.html – > domain.com/gallery videos.html – > domain.com/videos等… 我只有几页,我没有dynamic代码,没有什么特别的。 我发现的所有例子或者我在其他网站中使用的方法都围绕着dynamic内容,页面等。我只是寻找最简单的解决scheme,理想情况下不需要安装任何types的URL重写模块。 最好,我可以保留.html扩展名,而不是将网站转换为ASP.NET项目,但这是一个选项。 谢谢。
我正在使用ASP .NET rewriteModule将http://example.com重写为http://www.example.com 。 <section name="rewriteModule" type="RewriteModule.RewriteModuleSectionHandler, RewriteModule"/> 然后我有这个<system.webServer>里面。 <rewrite> <rules> <rule name="Canonical" stopProcessing="true"> <match url=".*"/> <conditions> <add input="{HTTP_HOST}" pattern="^([az]+[.]com)$"/> </conditions> <action type="Redirect" url="http://www.{C:0}/{R:0}" redirectType="Permanent"/> </rule> </rules> </rewrite> 现在我想在我的页面结束时删除所有的.aspx文件。 例: http://www.example.com/Register.aspx 会变成: http://www.example.com/Register/ 我怎样才能做到这一点? 我在使用IIS7的GoDaddy共享虚拟主机上。
我的Magento安装的所有url都需要index.php,例如: http://example.com/index.php/admin/ http://example.com/index.php/customer/account/login/ 问题是系统默认链接到URLs之类的 http://example.com/admin/ http://example.com/customer/account/login/ 无论如何,看起来更漂亮。 我认为这是一个在.htaccess中的重写问题,但正如过去的修补已经给了我500秒,我想先问你们。 改变search引擎优化设置,刷新configurationcaching,并重新索引的URL没有按照这里build议的工作。
我打算使用url路由的Web窗体应用程序。 但是,在阅读了一些post后 ,我不确定这是否是一个简单的方法。 为网页表单使用URL重写模块会更好吗? 但是,它只适用于IIS7。 最初,有一些关于URL路由与Asp.Net MVC完全分离的嗡嗡声,它可以用于web表单。 很想听到任何build议..
编辑:当前.htaccess文件: Options +FollowSymLinks -MultiViews # Turn mod_rewrite on RewriteEngine On RewriteBase / ## hide .php extension snippet # To externally redirect /dir/foo.php to /dir/foo RewriteCond %{THE_REQUEST} ^[AZ]{3,}\s([^.]+)\.php [NC] RewriteRule ^ %1 [R,L] # To internally forward /dir/foo to /dir/foo.php RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{DOCUMENT_ROOT}/$1.php -f RewriteRule ^(.*?)/?$ $1.php [L] 我的网站托pipe在连接到大型托pipe帐户的域的子文件夹中。 basesite /iioengine /forums /.htaccess //file […]
我升级了我的网站,使用传统的ASP.Net webforms的ASP.Net MVC。 我正在使用MVC路由将旧的.aspx页面的请求redirect到他们的新Controller / Action等价物: routes.MapRoute( "OldPage", "oldpage.aspx", new { controller = "NewController", action = "NewAction", id = "" } ); 这对于页面非常有用,因为它们直接映射到控制器和操作。 但是,我的问题是请求图像 – 我不知道如何redirect这些传入的请求。 我需要将传入的http://www.domain.com/graphics/image.png请求redirect到http://www.domain.com/contenthttp://img.dovov.comimage.png 。 使用.MapRoute()方法时,正确的语法是什么?
什么时候应该在URL中使用尾部斜线? 例如 – 我的url应该是/about-us/还是like /about-us ? 我充分意识到与search引擎优化相关的问题 – 重复的内容和规范的事情; 我试图找出哪一个我应该使用在单独正确服务页面的上下文中。 例如,我的同事认为最后一个斜杠意味着它是一个“文件夹” – 一个“目录”,所以这不是一个正确的风格。 但是我认为最后没有斜线 – 它也不是很正确,因为它几乎看起来像一个文件夹,但它不是,它也不是一个正常的文件,而是一个没有扩展名的文件名。 有没有一个适当的方式知道使用哪个?