我正在尝试在运行带有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。
答案 0 :(得分:0)
我设法找到了解决这个问题的方法。...比我预期的要快。
问题在于,除了我在apache2.conf中拥有的RewriteRule之外,在此之前,我还在根目录内创建了一个.htaccess文件,该文件阻止了以前的RewriteRule的文件。
删除.htaccess文件后,一切似乎都正常->我将尝试使用该.htaccess文件,因为我认为这对项目的整体结构会更好。