2015-03-31 60 views
0

我有文件夾和另一個PHP文件與ID。 我想要做的是能夠以下列格式查看這些php文件:www.website.com/cakedetails在瀏覽器網址和網站範圍內而不是www.website.com/cakes.php?id =巧克力蛋糕htaccess和文件夾會影響它嗎?

RewriteEngine On 
RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 
RewriteRule ^http://www.%{HTTP_HOST}/([a-z.*0-9_-]+)/$ http://www.%{HTTP_HOST}/cakes.php?id=$1 

我設法把上面我的htaccess的文件,但至今無果。代碼的第一部分轉換爲www。如果它沒有這個前綴,並且代碼的第二部分收集蛋糕細節。

你能告訴我,如果上面的代碼是正確的,因爲我沒有htaccess語言的專家,我無法讓上面的代碼工作。

您的意見都是歡迎的。

回答

0

你不能有這樣的東西:在規則的正則表達式http://www.%{HTTP_HOST}/。正則表達式匹配的字符串不包含協議/域名,只是的URI,所以只是/cakedetails部分。

問題在於你不想盲目地匹配所有東西,所以你需要一些條件來確保某人不請求現有文件。

嘗試:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)$ /cakes.php?id=$1 [L,QSA] 
相關問題