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