LifeType 中文開發論壇

支援 => 安裝與設定 => 主題作者是: yavenily 於 二月 04, 2006, 05:11:47 下午



主題: 關於網址最後一個斜線
作者: yavenily二月 04, 2006, 05:11:47 下午
我用 ubuntu 5.10 及 apache2.0.54 + php4.4.0 + MySQL 4.0.24 架設 lifetype
放在 /var/www/html/blog
在blog目錄中的 .htaccess 加入 authorization 設定
並更改 DirectoryIndex 為
DirectoryIndex summary.php index.html index.php

當我在瀏覽器輸入 http://mydomain/blog 時
理所當然會出現提示對話框要求輸入帳號密碼
如果此時取消對話框
則會出現 Authorization Required 的訊息
但是當我用 http://mydomain/blog/ 瀏覽時
取消提示對話框
卻會出現預設網誌ID的blog頁面
但是是沒有經過css修飾的頁面
然後如果在此頁面點選任何連結
又會出現一次對話框
這一次取消就會看見  Authorization Required 了

而我想要的效果是
不管輸入有沒有最後斜線的網址
且取消帳號密碼對話框的情形下
都能顯示 Authorization Required
望各位撥冗不吝指教
謝謝


主題: Re: 關於網址最後一個斜線
作者: lss二月 04, 2006, 09:58:37 下午
hi yavenily:

你方便把 .htaccess 裡面關於 authorization 的部份貼出來嗎?這樣看問題比較精確。

lss


主題: Re: 關於網址最後一個斜線
作者: yavenily二月 04, 2006, 11:26:41 下午
hi yavenily:

你方便把 .htaccess 裡面關於 authorization 的部份貼出來嗎?這樣看問題比較精確。

lss
.htaccess 如下
========
AuthName "Private Area"
AuthType Basic
AuthUserFile /XXX/OOO/mypasswd
require valid-user

<Files .htaccess>
deny from all
</Files>

<Files config.properties.php>
deny from all
</Files>

Options -Indexes +FollowSymLinks
DirectoryIndex summary.php index.html index.php

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
...(中間略過)...
ErrorDocument 401 /blog/error.php
ErrorDocument 403 /blog/error.php
ErrorDocument 404 /blog/error.php
========

apache中關於lifetype的設定
========
        <Directory /var/www/html/blog>
                Options -Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>
========


主題: Re: 關於網址最後一個斜線
作者: lss二月 05, 2006, 12:28:26 上午
hi yavenily:

這看來是 apache 的問題了。

當你使用 http://mydomain/blog/ ,取消 authorization 對話窗後, apache 會丟出 401 的 reponse code ,這時,因為 LT 在 .htaccess 裡面用 ErrorDocument 自訂了 401 錯誤時使用 /blog/error.php 來做錯誤處理,而 error.php 會幫你重導到預設的 blog ,這部份都是正常的。

而使用 http://mydomain/blog 時,這就有點詭異了。 apache 預設狀況是, url 沒有加結尾 / 但是結尾是存在的目錄名稱時,會自動加上 / ,但是在 authorization 時,他直接用內建錯誤訊息處理,這我就不知道了。

你要的結果是顯示 Authorization Required ,我的建議是「把 .htaccess 裡的 ErrorDocument 401 /blog/error.php 拿掉/註解掉」。但是,我不確定 LT 能否完全正常?因為 error.php 在各種網址的處理上蠻重要的,而拿掉 401 錯誤的重導向很可能造成 LT 不能正常使用。

記得試了之後要回報一下哦!特別記得要告訴我們你使用什麼網址模式?

lss


主題: Re: 關於網址最後一個斜線
作者: yavenily二月 05, 2006, 12:41:26 下午
謝謝 lss 的幫忙

我的網址模式是"讓搜尋引擎易於搜尋的簡潔網址"

其實在我發表文章之前有看了一下程式碼
發現把 401 註解掉可以達到我要的目的
但是也因為不確定正確的作法
所以上來問問看大家   :-S


主題: Re: 關於網址最後一個斜線
作者: lss二月 05, 2006, 03:28:56 下午
hi yavenily:

稱不上什麼幫忙,因為問題還是沒解決。我也不知道在 LT 裡面,為什麼 401 也要做重導向? :-$

lss