写一个没有%{REQUEST_FILENAME}的.htaccess文件

时间:2011-08-03 17:22:55

标签: .htaccess redirect isapi

所以我有一个荒谬的问题,托管公司似乎无法自己照顾。我在Windows服务器上有一个运行ISAPI Rewrite 3的网站,允许我使用.htaccess文件进行wordpress。但我注意到了

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

语句不起作用。他们只是被忽略了。这是配置问题吗?与此同时,我使用我从某处偷走的这条聪明的线路启动并运行了该站点

RewriteCond %{REQUEST_URI} (/[^.]*|\.(html?|php))$  [NC]

问题是使用此行我无法访问存在的实际目录。防爆。 / wp-admin /所以如果我想在管理区域进行更改,我必须启用由IP限制的行进行更改,然后关闭该行。非常荒谬。

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} (/[^.]*|\.(html?|php))$  [NC]
#disallow or allow just my IP address
#RewriteCond %{REMOTE_HOST} !1.2.3.4
RewriteRule .* /index.php [L]

任何解决方案,以便我仍然可以访问不使用%{REQUEST_FILENAME}的目录?

1 个答案:

答案 0 :(得分:0)

嗯..我在IIS 6上运行了Helicon ISAPI_Rewrite v3(2年前在IIS 7上运行了)..而且这些说明实际上工作正常

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

如果URL的一部分是虚拟文件夹/应用程序,它可能无法正常工作..但它可以与真实文件和文件夹一起使用。试试这些(如果不涉及虚拟内容,应该完全相同):

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d