1
我想URL是這樣的:localhost/dir/images/pic1.jpg
重寫規則行事詭異
被rewriten到:localhost/dir/subdir/index.php?folder=images&picture=pic1.jpg
所以我把很簡單的.htaccess文件中localhost/dir/
:
RewriteEngine On
RewriteRule ^(.*)/(.*)$ subdir/index.php?folder=$1&picture=$2 [L]
,並期望得到folder='images'
和picture='pic1.jpg'
在localhost/dir/subdir/index.php
,但是我有folder='subdir'
和picture='index.php'
奇怪的是,當我修改.htaccess文件來調用同一個目錄(而不是從「子目錄」)的index.php它工作得很好:
RewriteEngine On
RewriteRule ^(.*)/(.*)$ index.php?folder=$1&picture=$2 [L]
我得到folder='images'
和picture='pic1.jpg'
localhost/dir/index.php
腳本
我並沒有意識到,單一的規則可以被稱爲不止一次。我讀了幾個教程,沒有一個提到過這個問題,或者警告過關於循環的可能性。他們應該把它寫成大紅色的字母;)非常感謝! –
很高興爲你效勞。是的,大部分教程集中在語義上,但不解釋整個流程單詞的含義。 – anubhava