1
在我的Joomla網站上,我添加了一些相當直接的RewriteRules到我的.htaccess文件。他們都是這樣的一對一規則,因爲我正在改變網站的文件結構,不想破壞我的舊鏈接。幫助mod_rewrite和Joomla
RewriteRule ^content/view/54/48/$ /courses [R]
這些都是除了來包裝與Joomla現有的規則:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
如果我註釋掉現有的Joomla規則,那麼我可以看到我的規則是否工作正常,當我鍵入http://example.com/content/view/54/48/
我的瀏覽器地址欄更改爲http://example.com/courses
,但是如果我離開其他規則,那麼Joomla不知道如何處理它(它會給出「未知組件錯誤」)。如果我直接輸入http://example.com/courses
,那麼它按預期工作,所以我覺得這是我的重寫問題,而不是Joomla。
我認爲RewriteRules是依次相互作用的。例如:
RewriteRule a b
RewriteRule b c # a request for "a" will take you to "c"
我在共享主機,所以不幸我無法打開登錄。有人對我有任何建議嗎?
也許有些人會從知道[L]表示「最後規則」中受益,並會從執行時停止的Joomla規則這條規則已經啓動了。 – PEZ 2008-12-22 18:38:44