我想在虚拟主机中重写 url。
虚拟目录:
htdoc/dev/ , dev.com
htdoc/dev 中 .htaccess 的语法:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule test.html$ test.php [L]
</IfModule>
我能够在本地主机中将 test.html 重写为 test.php。但是,无法在虚拟主机中执行此操作。这里出了什么问题?
我想在虚拟主机中重写 url。
虚拟目录:
htdoc/dev/ , dev.com
htdoc/dev 中 .htaccess 的语法:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule test.html$ test.php [L]
</IfModule>
我能够在本地主机中将 test.html 重写为 test.php。但是,无法在虚拟主机中执行此操作。这里出了什么问题?
请检查您是否将AllowOverride选项设置为All:
<VirtualHost...>
...
AllowOverride All
...
</VirtualHost>
需要在目录部分的 httpd.conf 中完成...
<Directory "/var/www/html">
AllowOverride All
</Directory>
...如果使用虚拟主机,您需要添加虚拟主机目录,如...
<Directory "/var/www/html/virtual_host_directory">
AllowOverride All
</Directory>