【问题标题】:Write an .htaccess file without %{REQUEST_FILENAME}编写不带 %{REQUEST_FILENAME} 的 .htaccess 文件
【发布时间】:2011-08-04 09:44:04
【问题描述】:

所以我有一个荒谬的问题,托管公司似乎无法自行解决。我在运行 ISAPI Rewrite 3 的 Windows 服务器上有一个网站,允许我将 .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} 的情况下仍然可以访问存在的目录吗?

【问题讨论】:

标签: .htaccess redirect isapi


【解决方案1】:

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

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

如果 URL 的一部分是虚拟文件夹/应用程序,它可能无法正常工作。但它适用于真实文件和文件夹。试试这些(如果不涉及虚拟东西,应该完全一样):

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

【讨论】:

    猜你喜欢
    • 2019-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-06
    • 2012-03-14
    • 1970-01-01
    • 1970-01-01
    • 2021-06-06
    相关资源
    最近更新 更多