我正在尝试使用mod_rewrite来创build包含UTF-8字符的干净url。 我的.htaccess文件如下所示: RewriteEngine On RewriteRule ^([a-zA-Z\-0-9]+)/?$ index.php?page=$1 [B] 它适用于英文字符,但是当我用UTF-8字符尝试时,我得到一个未发现的错误。 我应该如何改变我的.htaccess文件来完成工作?
我在理解RewriteCond指令如何工作时遇到问题。 到目前为止,很明显,它与应用RewriteRule的string相比较。 我有这个文件: <IfModule rewrite_module> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ app_dev.php </IfModule> 这适用于我,但我不知道为什么它的作品。 到目前为止在RewriteCond指令我明白: 如果REQUEST_FILENAME的值不是硬盘中的文件,则允许使用规则 这是没有意义,因为app_dev.php替代后是硬盘中的文件。 无论如何,有人可以启发我这个问题? 弄清楚这是如何工作的,我有一个非常苛刻的时间。
我在Debian 6上安装了Apache 2(从webmin)服务器。 我已经在服务器上设置了一个虚拟主机db.domain.com工作正常,但.htaccess不起作用,如果你从IP地址访问和目录列出,如果没有findindex.php? db.domain.com -> 403 forbidden xxx.xxx.xxx.xxx -> gets access to the server 为什么从服务器IP地址获取访问权时忽略.htaccess? httpd.conf文件 <Directory *> Options -Indexes FollowSymLinks </Directory> <VirtualHost *:80> ServerName db.domain.com DocumentRoot /var/www </VirtualHost> htaccess的 order deny,allow deny from all
我有一个.php,.sh和.txt扩展名的文件存储库,它被检出到我的服务器(/ var / www)的web目录。 我需要.php文件才能通过inputURL来达到,但我希望.sh和.txt文件只能在内部访问 – 这意味着他们可以读取和运行的PHP或一个cron,但从来没有一个用户input他们的url。 我怎样才能做到这一点在Apache? 我是否需要将文件的权限设置为某些内容或者与.htaccess混淆或者做其他事情?
我知道为了通过.htaccess显示我的文件在浏览器中的目录列表,我可以使用 Options +Indexes 并阻止Google和大多数漫游器爬取我可以使用的目录 Options -Indexes 是否有可能仍然允许通过浏览器可见的目录列表,但防止僵尸爬行/索引完全与.htaccess ?
我有一些域redirect指向我的服务器上的页面,他们在文件名后面但在查询string之前粘贴一个尾部的斜杠。 所以这: http://hydesim.com?dll=40.71427,-74.00597&yd=10&zm=12&op=156 变成这个: http://meyerweb.com/eric/tools/gmap/hydesim.html/?dll=40.71427,-74.00597&yd=10&zm=12&op=156 而不是这个: http://meyerweb.com/eric/tools/gmap/hydesim.html?dll=40.71427,-74.00597&yd=10&zm=12&op=156 那么如何在保留查询string的同时删除URL中间的斜杠呢? 我试过一些.htaccess方法,但似乎没有工作。 最近的尝试是: RewriteRule ^(.+)html/(.+)$ /$1html$2 [R=301,L] [更新:该规则不起作用,所以我禁用它,现在没有重写有效。]我不是很有经验的mod_rewrite ,你可能已经猜到了。 任何帮助非常感谢!
我正在尝试只redirect我的顶级域名,例如。 domain.com到sub.domain.com。 域的内部页面不应该被redirect。 我跟着下面的链接: 如何redirect根和只有通过htaccess的根? 但是当我在我的网站上进行search时,查询被追加到子域,如: sub.domain.com/?q=product在哪里它应该是domain.com/?q=product 我目前的htaccess已经被重写了: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !\.(png|gif|ico|swf|jpe?g|js|css)$ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php?sef_rewrite=1 [L,QSA] 为了实现上述行为,我需要添加什么?
我正在尝试设置mod_rewrite以使应用程序的URL更好一些。 我有一个skinnable系统,通过query parameter设置皮肤,所以任何下面的链接将触发一个特定的皮肤加载(并存储为cookie): www.mysite.com/index.html?skin=123 我正在尝试使入口链接进入系统,所以我使用这个: <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^/(.*)/$ /index.html?app=%1 [L] </IfModule> 这似乎工作正常,所以我正在加载下列链接正确的页面: www.mysite.com/890/ => www.mysite.com/index.html?skin=890 但是,只有我的初始页面被正确加载,所有CSS和JS文件仍然被请求从错误的pathwww.mysite.com/890/与www.mysite.com 题: 我怎么能重写所有请求的文件(CSS,JS,IMG …)被正确redirect,不包括/890/path? 另外,有没有办法使我的重写更通用,以便我可以处理这两个 www.mysite.com/890/ => www.mysite.com/index.html?skin=890 www.mysite.com/890/foo.html => www.mysite.com/foo.html?skin=890 www.mysite.com/890/bar.html => www.mysite.com/bar.html?skin=890 感谢您的光芒!
我试图限制访问查看目录索引或查看目录中的文件列表,除非您的IP位于白名单中。 我正在使用Apache Web服务器和一个.htaccess文件。 所以这是我到目前为止 Options -Indexes <Files *> deny from all allow from 71.56.134.456 allow from 71.55.104.468 Options +Indexes </Files> 这部分工作。 除非列出了IP,否则这将限制目录查看给所有人。 问题是它也限制非白名单的IP查看文件。 我需要限制目录列表的访问权限,但不能直接访问文件。 请帮帮我
页面速度见解告诉我为谷歌地图源启用压缩。 如果使用Apache,它build议使用mod_deflate 。 那么,我已经把下面的代码片段放在.htaccess文件中了: <IfModule mod_deflate.c> <IfModule mod_headers.c> Header append Vary User-Agent env=!dont-vary </IfModule> <IfModule mod_filter.c> AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon application/json <IfModule mod_mime.c> # DEFLATE by extension AddOutputFilter DEFLATE js css htm html xml </IfModule> </IfModule> </IfModule> 我已经启用mod_deflate (并自动启用mod_filter ), mod_headers和mod_mime已经启用..但是页面速度页面仍然告诉我启用压缩。 我做错了什么,或者我该怎么做? 这是页面速度错误的屏幕截图: