我知道如何使用 htaccess 进行重定向。我想要做的是,如果尝试访问/file.php
然后从子目录提供文件,即/subdirectory/file.php
不实际修改 url。
问问题
230 次
1 回答
2
将此添加到文档根目录中的 htaccess 文件中:
RewriteEngine On
RewriteRule ^file\.php$ /subdirectory/file.php [L]
如果没有该R
标志,重写引擎将不会根据需要将请求标记为外部重定向(从而更改浏览器位置栏中的 URL)。它将/subdirectory/file.php
在浏览器不知道的情况下在服务器内部提供内容。
这似乎与您所问的完全不同:
我正在使用 RewriteRule ^([a-zA-Z0-9.]*)$ /subdirectory/$1 [L] 。如何在这个正则表达式中处理斜杠(/)?我尝试转义和不转义它,但在这两种情况下都给出了错误 500
你造成了一个循环,你需要:
RewriteCond %{REQUEST_URI} !^/subdirectory/
RewriteRule ^(.*)$ /subdirectory/$1 [L]
于 2013-10-08T15:51:44.167 回答