[英]Rewriting urls with .htaccess?
我正在嘗試重寫url,但似乎無法實現。
我只需要一個可行的示例,這樣我就可以繼續瀏覽網站的所有頁面。
所以我有這個鏈接:
www.domain.com/article.php?id=1
我可以將其更改為:
www.domain.com/article/1/
現在可以,以后我將其替換為文章標題。
這是我的.htaccess文件上的內容:
RewriteEngine On # Turn on the rewriting engine
RewriteRule ^article\.php\?id=([0-9]+)$ article/$1/
怎么了 我聽說如果使用FTP將.htaccess文件保存在服務器上,則該文件必須為ASCII格式,但是由於我自己創建了該文件,因此我不知道該怎么做。
您無法在重寫規則中與查詢字符串匹配,而在以下情況下需要與%{QUERY_STRING}
匹配:
RewriteEngine On # Turn on the rewriting engine
RewriteCond %{QUERY_STRING} ^id=([0-9]+)$
RewriteRule ^article\.php$ article/%1/? [L]
這會在內部將您的請求重寫為/article/1/
。 瀏覽器仍然會看到舊的URL。
您最有可能尋找的是與請求匹配:
RewriteEngine On
RewriteCond %{THE_REQUEST} \ /+article\.php\?id=([0-9]+)
RewriteRule ^ /article/%1/? [L,R=301]
RewriteRule ^article/([0-9]+)/?$ /article.php?id=$1 [L,QSA]
從字面上看,您正在反向執行此操作。
RewriteRule ^article/([0-9]+)$ /article.php?id=$1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.