我现在已经在我的头上刮了很长时间。无法设法让它发挥作用。 (我是一个带有apache的菜鸟也可能是一个原因)。好吧,问题就是问题。我正在使用wamp,我有一个目录Retailer
。其中有另一个名为public的目录,其中包含索引和其他文件。我想将此public
目录文档设为root。我想用.htaccess
我的用于apache的重写模块已打开。
以下是我的尝试:
RewriteEngine on
RewriteBase /public/
RewriteRule ^index.php$ test.php
我也尝试了
RewriteEngine on
RewriteCond %{HTTP_HOST} ^localhost/Retailer$ [NC,OR]
RewriteCond %{HTTP_HOST} ^localhost/Retailer$
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) /public/$1 [L]
我试过了
RewriteEngine on
RewriteCond %{HTTP_HOST} ^http://localhost/Retailer/$ [NC,OR]
RewriteCond %{HTTP_HOST} ^http://localhost/Retailer/$
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) /public/$1 [L]
但是所有这些案例的结果都是一样的。那是:
任何帮助将不胜感激 艾哈迈尔
答案 0 :(得分:4)
在 Retailer/.htaccess
档案:
RewriteEngine on
RewriteBase /Retailer/
RewriteRule ^((?!public/).*)$ public/$1 [L,NC]
答案 1 :(得分:3)
您应该在.htaccess
文件中配置,而不是在apache配置文件httpd.conf
中配置:
<VirtualHost 127.0.0.1:80>
DocumentRoot "/path/to/project/Retailer/public"
ServerName "retailer.local"
ServerAlias "www.retailer.local"
</VirtualHost>
您还需要使用下一行更新hosts
文件:
127.0.0.1 retailer.local
然后重启您的网络服务器!