Articles of .htaccess

如何使用mod_rewrite将index.php(和其他有效的默认文件)重写到文档根目录?

我想redirectindex.php,以及任何其他有效的默认文件(如index.html,index.asp等)的文件根(其中包含index.php),像这样的东西: RewriteRule ^index\.(php|htm|html|asp|cfm|shtml|shtm)/?$ / [NC,L] 但是,这当然给了我一个无限的redirect循环。 什么是正确的方法来做到这一点 ? 如果可能的话,我希望在开发和生产环境中都有这个工作,所以我不想指定一个明确的URL,比如http://www.mysite.com/作为目标。 谢谢!

.htaccess&Mod_Rewrite

我正在创build一个网站。 我在.htaccess文件中有这样的代码: RewriteEngine On RewriteRule ^/([0-9][0-9])/$ /redirect.php?id=$1 但是当我去,例如/ ASEi说404未find问题是什么?

国防部重写工作很好,因为缺less目录索引文件

我有一个遗留在Apache上的网站。 它有许多网页位于公共Web根目录及其子文件夹中。 例如,可以说这些是我的web根目录中唯一的文件和文件夹: publicDocs/ directorywith_no_defaultfile/ some-legacy-flat-page.htm .htaccess index.php some-legacy-flat-page.htm 我想开始使用Zend MVC的一些较新的网页。 我有一个.htaccess国防部重写规则工作,以便任何请求不存在的文件被发送到由MVC引导文件(/index.php)处理。 使用我目前的设置,以下types的请求被成功路由到“/index.php”,即MVC引导程序: 的index.php /等等 / directorywith_no_defaultfile /布卢 旧的传统(平面)页面成功地提供以下types的请求 /some-legacy-flat-page.htm /directorywith_no_defaultfile/some-legacy-flat-page.htm 但是,当我请求一个不存在的文件是这样一个目录: / directorywith_no_defaultfile 要么 / directorywith_no_defaultfile / 而不是路由到MVC的靴子,我得到一个错误: Forbidden You don't have permission to access /directorywith_no_defaultfile/ on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to […]

.htaccess启用,但不能正常工作

我在使用.htaccess在我的新服务器上工作时遇到了一些非常令人沮丧的问题。 我在pipe理服务器方面并不是很有经验,但是我已经花了三天的时间翻阅文档和所有可以获得的资源。 我试图尝试一个非常基本的.htaccess的应用程序,但它没有给出预期的结果。 我已经build立了一个testing目录。 立即在这个目录下是一个.htaccess文件,使用下面的命令: 否认所有 如果我没有弄错,这应该拒绝访问/testing,但它不会。 它只是坐在那里让任何人查看内容。 我已经做了一个可读的.htaccess可用在同一目录中的任何人想看到我的.htaccess到底是怎么回事。 我的服务器/configuration有什么问题? 服务器正在运行CentOS。 对Dom的回应 # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None 如上所示,我将其更改为AllowOverride All ,然后重新启动我的服务器: service httpd restart 但收到以下消息: /etc/httpd/conf/httpd.conf的第347行语法错误: AllowOverride不允许在这里[FAILED] 最后一行是347行: # UserDir: […]

为什么我得到一个POST错误403的PHP脚本?

背景 我想让我的用户提交一个崩溃报告,通过电子邮件发送给我。 我正在使用UKCrashReporter和我修改的捆绑PHP脚本。 这段代码会和崩溃报告一起发送POST到指定的URL。 我正在运行Linux的共享服务器上。 我的主要网域是synapticmishap.co.uk。 问题 当我发送崩溃报告,在cocoa方面,它报告已成功发送,但我没有收到电子邮件。 该代码已被用于其他许多良好的cocoa项目,并在几个月前为我工作。 这导致我得出这样的结论:问题与我的Web服务器设置有关,这是我几乎不知道的。 当我看着我的日志文件,我看到这样的条目: IP Redacted – – [10 / Jun / 2010:09:47:53 +0100]“POST /crashreportform.php HTTP / 1.1”403 74“ – ”“UKCrashReporter” 我试过了 我试图通过浏览器访问http://synapticmishap.co.uk/crashreportform.php页面。 它加载罚款。 我已经确定在这个PHP脚本的权限设置,以便任何人都可以执行它。 我已经尝试删除从根开始的不同级别的.htaccess部分中的拒绝条目。 我已经下载了Firefox的URLParams插件,允许你模拟POST。 我把上面的URL放在一个post里,用“crashlog”作为参数,“test”作为值。 这在我的日志文件中生成了一个200条日志条目 – 虽然没有发送邮件,但它似乎可以工作。 码 我有以下http://synapticmishap.co.uk/crashreportform.php 。 我已经简化它到只是裸露的骨头,以努力使其工作。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Crash Report</title> </head> <body> […]

Apache,反向代理,重写,HTTPS

我正在用apache创build一个反向代理框,我对此有一些疑问: 我怎么能加载一些文件,说robots.txt,而不是实际的主机反向代理框? 允许在代理服务器上加载.htaccess是明智的吗? 他们代理盒子的重写规则呢? 我应该把我的重写规则放在哪里? 在虚拟主机或.htaccess? 如果我允许从代理框加载.htaccess,是不是有问题有2 .htaccess? 我想只有一个会被加载。 那么在http上的反向代理网站以及https呢? 我需要一些特殊的设置? 创build反向代理时是否有任何问题需要注意? 我已经知道使用mod_proxy_html来更正html文件中的链接。

htaccessexception/“拒绝所有除了贝宝”

我在这个问题上度过了我的傍晚,我没有find如何解决/绕过它:-( 我在“mydomain.com/admin/”中有一个.htaccess文件,内容如下: <Files ~ "[^index]\.php$"> Order Allow,Deny Deny from All </Files> 这个.htaccess的目标是保护所有包含的文件,例如inc / config.php,不被直接调用。 我的问题是,我想为贝宝使用的通知PHP文件例外。 换句话说,我有一个文件“mydomain.com/admin/paypal/notify.php”,我希望允许paypal.com执行它。 我尝试了十分之一的东西,因为在.htaccess中添加了“文件”授权 <Files /admin/paypal/notify.php> Order Deny,Allow Deny from all Allow from paypal.com </Files> 但成功: – ( 仿佛 <Files ~ "[^index]\.php$"> 是唯一遵循的规则。

如何链接重写在Nginx中?

我是nginx的重写引擎的新手。 我试图将我的旧的htaccess文件转换为nginx的格式,但我遇到了一些麻烦。 # —————————————————— # # This redirects index.php to / # # —————————————————— # RewriteCond %{THE_REQUEST} ^[AZ]+\ /(index|index\.php)\ HTTP/ RewriteRule ^(index|index\.php)$ http://domain.com/ [R=301,L] # —————————————————— # # This rewrites 'directories' to their PHP files, # # fixes trailing-slash issues, and redirects .php # # to 'directory' to avoid duplicate content. # # —————————————————— # […]

.htaccess和.htpassword不起作用

我在Windows XP上运行一个wamp服务器。 我有一个包含的.htaccess文件 AuthType Basic AuthName "restricted area" AuthUserFile C:/wamp/www/.htpasswd require valid-user 和一个密码文件.htpasswd user:$apr1$4EPQ5/..$aRu05NnKW3Zhpf2m1Jst2. 密码=密码 .htaccess文件位于名为“NewCats”(试图保护的文件夹)的子目录中,并且密码文件位于根目录(我试过在newcats文件夹中,并且在那里也不工作。 文档根是 C:/瓦帕/networking/ 所以我做错了什么? (我也用这个网站创build哈希http://www.htaccesstools.com/htpasswd-generator/ )

htaccess重写规则

如何重写http://mydomain.com/mypage.php?id=somenumbertypes的web请求,其中somenumber是一个整数TO http://mydomain.com/directory 像http://mydomain.com/mypage.php?id=15到http://mydomain.com/directory