Apache-2.2
將 Web 子文件夾重定向到根目錄(/文件夾到 /)
我正在嘗試使用 .htaccess 將 /folder 重定向到 / ,但我得到的只是 Apache HTTP Server 測試頁。我的根目錄如下所示:
/ .htaccess -/folder -/folder2 -/folder3
我的 .htaccess 看起來像這樣:
RewriteEngine On RewriteCond %{REQUEST_URI} !^/folder/ RewriteRule (.*) /folder/$1
我究竟做錯了什麼?我檢查了我的 httpd.conf(我正在執行 Centos)並且正在載入 mod_rewrite 庫。附帶說明一下,我的伺服器不是 www 伺服器,它只是一個虛擬機,所以它的主機名是 centosvm。
另外:我的 httpd.conf 看起來像這樣:
<VirtualHost *:80> ServerName taa.local DocumentRoot /var/www/html SetEnv APPLICATION_ENV "dev" Alias /taa /var/www/html/taa/public <Directory /var/www/html/taa/public> DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
我發現我
<VirtualHost>
的聲明缺少<Directory>
根聲明。通過將我的更改<VirtualHost
為:<VirtualHost *:80> ServerName taa.local DocumentRoot /var/www/html SetEnv APPLICATION_ENV "dev" Alias /folder1 /var/www/html/folder1/public <Directory /var/www/html> AllowOverride All Order allow,deny Allow from all </Directory> <Directory /var/www/html/folder1/public> DirectoryIndex index.php AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
我的 /.htaccess 看起來像:
RewriteEngine On RewriteCond %{REQUEST_URI} !^/folder1/ RewriteCond %{REQUEST_URI} !^/folder2/ RewriteCond %{REQUEST_URI} !^/folder3/ RewriteCond %{REQUEST_URI} !^/folder4/ RewriteCond %{REQUEST_URI} !^/folder5/ RewriteRule (.*) folder1/$1 [L]
如果我知道熱說 if 會更乾淨
REQUEST_URI = /
,然後重定向但我不知道如何。
確保載入了 Mod_Rewrite。確保你有
AllowOverrides All
你的根目錄(它是 Apache 的預設值,但大多數發行版none
在 httpd.conf 文件中有一個預設值)。