Apache2 mod_rewrite在嵌套文件夹上不起作用

时间:2019-02-14 12:41:21

标签: php apache mod-rewrite apache2 ubuntu-18.04

我正在尝试在运行带有Apache 2.4.29的Ubuntu 18.04的小型VPS上设置mod_rewrite

我具有以下结构:

root
├── index.html
├── resources
│   └── css
│       └── styles.css
├── test.php
└── tools
    └── php
        └── index.php

我将它作为一种爱好并学习它的作品。问题如下:

我在/ etc / apache2 /

的apache2.conf文件中添加了一些RewriteRule。
RewriteRule ^test$ /test.php [L]
RewriteRule ^php$ /tools/php/index.php [L]

第一个将/test.php重写为/ test的文件可以正常工作。我希望将第二个/tools/php/index.php重写为一个简单的/ php的第二个似乎不起作用,而且在Google上找到了无数“解决方案”之后,我还没有弄清楚为什么。< / p>

这是我在apache2.conf中的Directory标记中的确切行

<Directory /home/user/Work/Web/root>
    Options +Indexes -MultiViews +FollowSymLinks
    AllowOverride All
    Require all granted
    RewriteEngine on
    RewriteRule ^test$ /test.php [L]
    RewriteRule ^php$ /tools/php/index.php [L]
</Directory>

任何帮助都非常感激,因为我现在被困在里面,除非我偶然找到了一个好的解决方案,否则我不知道要花多少钱来解决这个问题。

干杯, G。

1 个答案:

答案 0 :(得分:0)

我设法找到了解决这个问题的方法。...比我预期的要快。

问题在于,除了我在apache2.conf中拥有的RewriteRule之外,在此之前,我还在根目录内创建了一个.htaccess文件,该文件阻止了以前的RewriteRule的文件。

删除.htaccess文件后,一切似乎都正常->我将尝试使用该.htaccess文件,因为我认为这对项目的整体结构会更好。