0

我知道如何使用 htaccess 进行重定向。我想要做的是,如果尝试访问/file.php然后从子目录提供文件,即/subdirectory/file.php不实际修改 url。

4

1 回答 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 回答