apache - htaccess 在子目录中无法正常工作
问题描述
我知道在堆栈溢出和许多其他站点中有很多关于此的问题。但我无法正确配置它。所以我再次在这里发布问题。我有一台服务器,里面有很多域。我最后写了一个htaccess文件来防止.php,但这对所有目录都有效。我希望它只在特定域中工作。
例如:假设我在 /var/www/html/ 中有两个目录。一个是 proj1/,另一个是 proj2/。我只想为 proj2/ 而不是 proj1/ 编写重写规则。如果我将 htaccess 文件放在 /var/www/html/ 目录中的所有目录都获取规则。如果我将 htaccess 文件放在 proj1/ 目录中,它会进行一些虚假的重定向。那么,如何让 htaccess 运行它的规则仅适用于 proj1/ 目录。我的 htaccess 文件
Options -MultiViews
RewriteEngine on
RewriteBase /
RewriteRule ^(.+)\.php$ /$1 [R,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ /$1.php [NC,END]
我什至尝试更改 rewritebase,但它无法正常运行。谢谢
假设如果我将此 htaccess 文件保存在 proj1/ 目录中并调用任何页面,例如 localhost/proj1/login 它会将我重定向到 localhost/login (实际上不存在。
解决方案
RewriteBase
很少按您想要的方式工作。最好不要使用它:
Options -MultiViews
RewriteEngine on
RewriteRule ^(.+)\.php$ /proj1/$1 [R,L]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ /proj1/$1.php [NC,END]
推荐阅读
- flutter - 颤动的容器内的图像
- kotlin - 库中的基本协程网络调用
- c# - 在 C# 中拆分没有分隔符的字符串
- ios - 在 ARKit 中获取设备绕世界原点 y 轴的旋转
- java - 如何对 bean 进行部分模拟
- java - Android 仅为用户显示菜单项
- tensorflow - 使用 scipy 进行向量输入的标量值函数的数值求积
- spring-boot - 来自 kubernetes yaml 的变量导致:无法解析值“${ACTUATOR_PASSWORD}”中的占位符“ACTUATOR_PASSWORD”
- python - 多个softmax分类(Keras)
- html - 如何在表格列之间插入空格?