如果我有一个URL root.com/index rel被编码为root.com/index%20rel我如何使用htaccess文字符号来定位它? =表示文字的国家。 所以我做这样的事情 RewriteCond %{REQUEST_URI} =index rel RewriteRule .* / [L,R=302,] 但是htaccess认为空间使得事物成为一个额外的参数,而不是同一个参数的一部分。 转义似乎不起作用
我的网站以前在Apache服务器上。 这是一个自定义的PHP网站,几乎每个文件夹都有.htaccess 。 我已经设法在主目录上的.htaccess一部分工作在Nginx,但我无法做到每个目录.htaccess指令。 以下是一些.htaccess文件: 主要.htaccess : RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^example.com RewriteRule (.*) http://www.example.com/$1 [R=301,L] RewriteRule ^search(.+)/$ search.php?search=$1 [L] RewriteRule ^search(.+)/page/(.+)/$ search.php?search=$1&page=$2 [L] RewriteRule ^nonton/(.+)/$ download.php?download=$1 [L] RewriteRule ^nonton/(.+)/(.+)/$ download.php?download=$1&size=$2 [L] RewriteRule ^get/(.+)/$ get_dl.php?dl=$1 [L] RewriteRule ^(.+)-live-streaming/$ tv.php?tv=$1 [L] RewriteRule ^thumb/(.+)$ data/thumb.php?i=$1 [L] RewriteRule ^sitemap.xml$ sitemap.php [L] Options -Indexes 按国家分类的URL: RewriteEngine On […]
我用Apache 2build立了一个Ubuntu服务器,而不是FTP,我用WebDAV上传/下载文件,效果很好。 但是,上传/下载或修改.htaccess文件是不可能的,因为Apache服务器返回404(禁止)错误。 怎样才能像使用其他文件一样使用.htaccess文件? 顺便说一句:不要担心。 WebDAV访问通过仅限WebDAV的主机运行,以避免安全问题。
客户在www.domain.com/dir上有一个应用程序。 他们现在在dir.domain.combuild立了一个子域名。 子域引用存储在www.domain.com/dir中的文件。 他们现在喜欢访问www.domain.com/dir的人被redirect到dir.domain.com。 我猜我需要一个.htaccess来坐在www.domain.com/dir,如果通过www访问,redirect到子域,只是不确定的语法。
我已经编辑我的.htaccess文件到以下内容: ErrorDocument 404 /index.php?page=page-not-found ErrorDocument 400 /index.php?page=bad-request 现在错误404redirect正确,但如果我input一个地址如http:// newshell /%22 %% 5E $ %% 5E&%C2%A3&服务器不redirect400错误,但显示默认的apache消息。 我究竟做错了什么?
我似乎在使用Apache 2.2的Rewrite模块(在FreeBSD 8上运行)时遇到了麻烦。 我的.htaccess文件如下所示: Options -Indexes RewriteEngine on RewriteRule ^xpaste$ cross.php [L] RewriteRule ^x([a-f0-9]*)$ cross.php?id=$1 [L] RewriteRule ^(gen|[a-f0-9]+)$ index.php?$1 [L] RewriteRule ^(.*)$ index.php [L] 然而不知何故,最后一条规则超越了其他三条。 一旦我发表评论,其他规则按预期工作: www.mysite.com/xpaste打开“cross.php” www.mysite.com/x132633打开“cross.php?id = 132633” www.mysite.com/gen打开“index.php?gen” 我已经尝试了各种RewriteRule上的L,NS和S = n标志的各种组合,但除非我注释掉最后一条规则,否则一切都会被引导到index.php。 一旦发现匹配,我该如何让Apache停止处理RewriteRules?
我有一个由PHPdynamic创build的.js文件。 为此,我将以下内容添加到Apache .htaccess文件中: AddHandler application/x-httpd-php .js AddType application/javascript .js 但.js文件是以MIMEtypestext/html 。 我怎样才能让Apache仍然发送MIMEtypes的application/javascript ? 由于我有很多.js文件,PHP添加标题不是一个选项。
我发现的一切似乎都是关于创build一个自定义的404页面。 这不是我想要做的。 如果我想阻止访问一个页面,我可以在htaccess中做到这一点: 重写规则模式 – [F] 但是,“ 禁止 ”暗示页面确实存在。 我希望页面看起来不存在。 所以我想给出一个404错误,而不是一个403.然后让它呈现任何404页面将呈现如果资源真的不存在。 我怎样才能做到这一点?
我已经设置了一个简单的htaccessredirect,看起来像这样(这是整个.htaccess文件): Options +FollowSymLinks RewriteEngine On Redirect 301 /something http://something.com/something.php 如果我然后加载包含这个.htaccess的网站,即myredirectsite.com/something我最终以下404: The requested URL /something was not found on this server. Apache/2.2.3 (Red Hat) Server at myredirectsite.com Port 80 和日志: [星期二七月10 14:25:46 2012] [错误] [客户端xx.xx.xxx.xx]文件不存在:/ home / sites / scp / something 有些东西不是文件,有些东西不存在。 我假设我可以使用redirect相同的重写,但它看起来像redirect需要为一个文件,实际上存在? 我创build了文件“东西”,它只是试图加载空白文件。 没有redirect。 我错过了什么工作?
我有一个网站使用mod_rewrite制作漂亮的url…我到处阅读删除结尾的斜杠对search引擎优化很好,因此我遵循规则: RewriteRule ^(.+)/$ /$1 [R=301,L] 我认为301redirect可能会影响性能,但这不是我的问题… 事情是,当我尝试访问一个EXISTING子目录的index.php像这样删除尾部的斜杠导致我循环: http : //mysite.com/a-real/directory/ 据我了解,mod_rewrite试图删除后面的斜杠,但在这种情况下,它不是假设。 我怎样才能解决这个问题? 我敢打赌,这是一个相当简单的解决scheme,但超出我的知识。