这是我的链接:http://localhost/test/index.php
现在我想将其更改为:http://localhost/home/
所以我创建一个.htaccess文件并将其放在 test 文件夹中。
这是我的.htaccess代码:
RewriteEngine on
RewriteRule ^test/index.php$ home/
mod_rewrite 也已启用。
但无论如何,此规则对我不起作用,浏览器会将我重定向到原始网址http://localhost/test/index.php
。但是,我在网上尝试了这个规则,它似乎在那里工作。这是我测试规则的网站的快照。
答案 0 :(得分:1)
尝试以下路径:
在终端运行a2enmod rewrite
并重新启动apache。
如果已完成,请执行以下操作,
转到此目录,
cd /etc/apache2/sites-available/
sudo gedit default
取代这一行:
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
并按以下方式更改
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
然后启动apache服务器
sudo service apache2 restart
sudo gedit /etc/apache2/apache2.conf
最后添加以下内容
```
ServerName localhost
包括/etc/phpmyadmin/apache.conf ```
同时为AllowOverride All
目录
/var/www
然后按照以下步骤操作
sudo adduser <username> www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rw /var/www
重新启动apache
完成!!!
/var/log/apache2/error.log
是否还有问题答案 1 :(得分:0)
您需要有2条免费规则:
RewriteEngine on
RewriteBase /
# external redirect for chancing URL
RewriteCond %{THE_REQUEST} \s/+test/index\.php[\s?] [NC]
RewriteRule ^ home/ [L,R=302]
# internal routing to actual URL
RewriteRule ^home/?$ test/index.php [L,NC]