Php
.htaccess 向子文件夾的 index.php 發送請求
我已經在 StackOverflow 上搜尋了我的答案,但我所看到的似乎沒有任何效果。
我有一個將所有請求發送到
index.php
文件的框架。當我將它安裝在虛擬主機的根目錄中時,一切正常:http://example.com/ http://example.com/home http://example.com/home/index
當我嘗試將框架安裝在子目錄中時會出現問題,例如:
http://example.com/blog/
像這樣的請求:
http://example.com/blog/home http://example.com/blog/home/index
所有這些請求都應該發送到 /blog 中的 index.php 文件
我目前的設置是:
http://example.com/index.php
- 這個文件只是列印出“我們在虛擬主機的根目錄中”。該框架未安裝在那裡。
http://example.com/blog
- 這工作正常當我嘗試訪問時,
http://example.com/blog/home
我得到的是根index.php
文件,而不是框架。我收到消息“我們在虛擬主機的根目錄中”。我有以下
.htaccess
文件位於http://example.com/blog/.htaccess
.RewriteEngine on Options Indexes FollowSymLinks -MultiViews RewriteBase /blog/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
任何幫助是極大的讚賞。
解決我的問題的答案是:
RewriteEngine On Options Indexes FollowSymLinks RewriteBase /blog/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
Multiviews似乎把它扔掉了。
RewriteBase /blog
嘗試不使用正斜杠。