htaccess - 转移所有期望一些流量到子目录而不重定向(修改URL)

时间:2013-10-08 15:48:55

标签: apache .htaccess

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

1 个答案:

答案 0 :(得分:2)

将其添加到文档根目录中的htaccess文件:

RewriteEngine On
RewriteRule ^file\.php$ /subdirectory/file.php [L]

如果没有R标志,重写引擎将不会根据需要标记请求外部重定向(从而更改浏览器位置栏中的URL)。它将在服务器内部提供/subdirectory/file.php的内容,而无需浏览器知道。


这看起来与你提出的问题完全不同:

  

我正在使用RewriteRule ^([a-zA-Z0-9。] *)$ /子目录/ $ 1 [L]。如何在这个正则表达式中处理斜杠(/)?我尝试了逃避并且没有逃避它,但在两种情况下都给出了错误500

你正在造成一个循环,你需要:

RewriteCond %{REQUEST_URI} !^/subdirectory/
RewriteRule ^(.*)$ /subdirectory/$1 [L]