我正在爲我的婚禮網站設置重定向,因此http://www.mydomain.com/rsvp.php/q/something
重定向到http://www.mydomain.com/rsvp.php?q=something
,但僅在服務器端(即客戶端仍在其地址欄中看到rsvp.php/q/something
)。Apache重定向工作不正常
現在,我在我的Apache配置下面這個網站:
<VirtualHost *>
ServerAdmin [email protected]
ServerName www.mydomain.com
DocumentRoot /var/www/www.mydomain.com
Options -Indexes +FollowSymLinks
RewriteEngine on
RewriteRule ^/rsvp.php/q/(.*) /rsvp.php?q=$1
</VirtualHost>
現在,我也有一個在PHP文件的頂部(元重定向事件,用戶沒有按」在q查詢變量中沒有任何內容):
<?php
$userHash = $_GET['q'];
?>
<!doctype html>
<html>
<head>
<title>Wedding - RSVP Page</title>
<?php
// If we don't have a user hash, then let's redirect to the main
// page.
if (!$userHash) {
echo '<meta http-equiv="refresh" content="0; url=http://www.mydomain.com/">';
}
?>
此外,這似乎工作正常,只有一個例外。我正在使用一個表單來輸入他們的RSVP數據。提交時,它會調用腳本submit-form.php
。當訪問地址http://www.mydomain.com/getID.php時,它會重定向到index.html,這不是我想要的。
如果我刪除RewriteRule
,它會按預期工作,但我沒有得到一個不錯的網址(我不得不使用q=something
而不是q/something
)。我對mod_rewrite並不擅長,所以我想知道是否有人可以給我一些幫助,讓我知道我做錯了什麼。
謝謝!
對不起......我沒有正確閱讀帖子。這很好,謝謝。 – jwir3 2012-04-22 21:11:35