簡體   English   中英

用.htaccess重寫URL?

[英]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.

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