我有两个目录每个.htaccess文件: html / .htaccess – 这个文件中有一个重写,几乎所有的东西都发送到url.php RewriteCond %{REQUEST_URI} !(exported/?|\.(php|gif|jpe?g|png|css|js|pdf|doc|xml|ico))$ RewriteRule (.*)$ /url.php [L] 和html / exported / .htaccess AuthType Basic AuthName "exported" AuthUserFile "/home/siteuser/.htpasswd" require valid-user 如果我删除html / exported / .htaccess重写工作正常,导出的目录可以访问。 如果我删除html / .htaccess身份validation工作正常。 但是,当我有两个.htaccess文件导出/正在重写为/url.php。 任何想法,我可以防止它?
任何人都可以帮我一个.htaccess我试图创build? 我想将foo.comredirect到foo.ca。 任何来自foo.com的 URL(有或没有www,在http或https下)都将被redirect到www.foo.ca。 一些例子: http://www.foo.com/ – > http://www.foo.ca/(http + www) https://www.foo.com/ – > http://www.foo.ca/(https + www) http://foo.com/bar/ – > http://www.foo.ca/(http + some url) https://foo.com/bar/ – > http://www.foo.ca/(https + some url) http://www.foo.com/bar/ – > http://www.foo.ca/(http + www + some url) https://www.foo.com/bar – > http://www.foo.ca/(https + www + some url) 非常感谢!
我把wordpress安装在一个名为welcome的目录中, / welcome / samples是一个“页面”(通过Wordpress创build)。 它有一个PHP模板等待$ _REQUEST ['category'] 当用户去/欢迎/样品/ 乐趣 ,我想有一个“乐趣”传递到样本的PHP模板的formswelcome / samples / ?category = fun 但是我希望这个URL保持原来的forms – 目前它正在用丑陋的“猫…等”取而代之。 # Outside the wordpress block so it won't be overwritten Options +FollowSymlinks RewriteEngine On RewriteRule ^samples/([^/]+)$ /welcome/samples?cat=$1 [R,L] # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /welcome/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . […]
我有一个网站使用mod_rewrite来获取一些干净的url和自定义404页面。 我的.htaccess文件如下所示: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?clean_url=$1 [QSA,L] </IfModule> 让我感到困惑的是,如果URL包含%2F (url-encoded / ),服务器似乎强制一个404。例如, http://example.com/category/article将是一个正常的文章,但然后http://example.com/category%2farticle给出一个服务器生成的404页面。 (不是自定义404页面) 我不会期望这…这是为什么发生? 有没有办法解决它?
我是一个mod_rewrite新手和正则expression式noob,但这是我想要做的: 我有一个脚本 ,将在飞行中重新调整图像的大小。 我希望能够采取任何图像文件path,添加一个查询string,并自动发送到脚本进行处理。 所以像这样: from: http://mysite.com/images/logo.jpg?w=100&h=50 to: http://mysite.com/images/thumbs/phpThumb.php?src=logo.jpg&w=100&h=50 当然,如果没有指定查询string,它应该指向原始文件。 使用/ images中的.htaccess文件,我已经得到了这个。 但它根本不起作用。 或者至多,它打破了我所有的网站图像: <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{QUERY_STRING} ^.* RewriteRule ([^\s]+(\.(?i)(jpg|png|gif|bmp))$) /thumbs/phpThumb.php?src=$1 [L,QSA] </IfModule>
这是我的.htaccess文件的内容: php_flag allow_url_fopen on DirectoryIndex index.php <ifmodule mod_deflate.c> AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript </ifmodule> <IfModule mod_gzip.c> mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file \.(html?|txt|css|php|js)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* </IfModule> <IfModule mod_expires.c> ExpiresActive On ExpiresDefault A86400 ExpiresByType image/png A2419200 ExpiresByType image/jpg A2419200 […]
我们的网站http://openeye.net/imagesa上有一个文件夹,里面充满了垃圾数据,外部网站和一半公司用作转储目录。 我正在计划最终完全裸照,但在此期间,我想把它移到downloads.openeye.net。 我遇到的问题是,许多用户仍然会有类似于http://openeye.net/imagesa/filename.duh的链接。 我正在寻找Apache和IIS7解决scheme。
我们使用Debian 6.0.3和Apache 2运行一个networking服务器,最近我们从Debian 5升级到6.从那时起,用户目录(使用mod_userdir)中的php脚本停止工作,它们被下载而不是被执行。 还有一个网站在用户目录之外使用PHP,并且一个继续工作正常,所以PHP似乎一般在服务器上工作。 我testing了几个PHP文件,其中一个简单的phpinfo文件在主站点上工作正常,但只是在将其复制到一个用户目录时才下载。 PHP文件和包含它们的目录对每个人都是可执行的。 Apache php5.conf中默认禁用用户目录中的PHP的选项已被注释掉,所以php5.ini如下所示: <IfModule mod_php5.c> <FilesMatch "\.ph(p3?|tml)$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> # To re-enable php in user directories comment the following lines # (from <IfModule …> to </IfModule>.) Do NOT set it to On as it # prevents .htaccess files from disabling it. #<IfModule mod_userdir.c> […]
忽略我们是否应该做出这个改变的好处(情况稍微复杂一点,可能是我的保密协议涵盖的),我们的客户希望我们要求我们正在build设的网站的访问者来自他们的另一个网站。 如果用户从其他地方访问我们,则应将其发送到其他网站的login屏幕。 感觉最简单的方法是使用mod_rewrite来redirect任何与既不是我们的网站也不是另一个的引用。 我目前的想法是 在httpd.conf RewriteMap deflector txt:/path/to/deflector.map RewriteCond %{HTTP_REFERER} !="" RewriteCond ${deflector:%{HTTP_REFERER}|NOT-FOUND} =NOT-FOUND RewriteRule ^ http://www.theothersite.com/login.jsp [R=307,L] 在deflector.map //www.oursite.com/ – //oursite.com/ – //www.theothersite.com/ – //theothersite.com/ – 这可以让我们很容易的扩大“允许转介人”的名单,这感觉是一个好主意。 那么我有三个问题: 是mod_rewrite (我们已经广泛使用)这样做的最好方法? 如果是,那么307 Temporary Redirect是一个307 Temporary Redirect响应的最好办法呢? 因为我主要不是LAMP开发者/pipe理员,所以我在这些重写规则中做了任何愚蠢的拼写错误? ; O) 在我看来, 307 Temporary Redirect或403 Forbidden是最合适的状态码 ,我认为这是一个坏事™发送Location:redirect头与4xx响应。 这一切都有道理? 编辑:默认情况下,地图search是否区分大小写? 我需要担心这里的情况吗? 编辑2:地图search正则expression式search还是全键匹配? 如果地图包含www.foo.com和Referer:标题读取http://www.foo.com/bar.php它将匹配?
我试图做一个dynamic的虚拟主机条目的目的是redirect到.mydomain.com所有stream量到/ var / www / html /这部分工作,但我也是一个重写条件,检查如果目录存在,如果不那么我想将所有stream量redirect到根/var/www/html/index.php。 这部分是不工作的,因为在我的testing期间,我注意到,没有重写variables工作,他们是空白的,我不明白为什么这里是我的虚拟主机configuration # get the server name from the Host: header UseCanonicalName Off # this log format can be split per-virtual-host based on the first field # LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon CustomLog logs/access_log […]