簡體   English   中英

無法弄清楚我的.htaccess RewriteRule語句出了什么問題

[英]Can't figure out what is wrong with my .htaccess RewriteRule statement

我不知道如何正確使用.htaccess文件,那里的所有指南和教程都不是最容易理解的。

這是我當前的代碼...

Options +FollowSymlinks
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^/([^/]+)/([^/]+)/([^/]+)$ productpage.php?productidpage=$1&brand=$2&productname=$3 [L,NC]

我希望它顯示為www.mysite.com/$1/$2/$3/每當productpage.php被加載。

好吧,實際上,我希望它能顯示為www.mysite.com/$2/$3

productidpage變量是代碼中加載頁面的代碼, $2$3只是為了修改URL而已。

嘗試刪除正則表達式中的前導斜杠。 當規則位於htaccess文件中時,與RewriteRule的表達式匹配時,將刪除URI中的前導斜杠。

# no slash---v maybe a slash here---v
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ productpage.php?productidpage=$1&brand=$2&productname=$3 [L,NC]

確保為包含您的.htaccess文件的<Directory>設置了AllowOverride FileInfo或( AllowOverride All )。

然后在服務器或虛擬主機級別上設置RewriteLogRewriteLogLevel以調試重寫規則。

更新:我強烈建議您查看Ask Apache-它包含大量的mod_rewrite信息和示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM