簡體   English   中英

RewriteRule 在 .htaccess 文件中不起作用

[英]RewriteRule Not Working in .htaccess file

我正在嘗試更改我網站的 URL 以僅顯示 ID,但它似乎不起作用...

我不知道為什么.. RewriteRule 的其他命令運行良好.. 實際上 .htaccess 文件看起來像 belove

RewriteEngine On

RewriteRule ^/?([0-9a-zA-Z-]+)/$ article.php?articleId=$1 [L]

我希望它像這樣工作:Old_URL(修改): mywebsite.it/article.php?articleId=15 ?articleId=15
我想要這樣的東西: mywebsite.it/article/15
但 URL 實際上保持不變:始終顯示:
mywebsite.it/article.php?articleId=15
在此先感謝您的幫助:)

內部重寫永遠不會改變瀏覽器中可見的 URL。 您可能正在尋找外部重定向。 或者更好地結合兩者:

RewriteEngine On
# externally redirect old URL
RewriteCond %{QUERY_STRING} (?:^|&)articleId=(\d+)(?:&|$)
RewriteRule ^/?article/?$ /article/%1 [R=301,L]
# internally rewrite new URL
RewriteRule ^/?article/(\d+)/?$ /article.php?articleId=$1 [END]

這些規則旨在在頂層實施。 最好在實際的 http 服務器的主機配置中。 如果您無權訪問它,那么位於主機的DOCUMENT_ROOT中的分布式配置文件將起作用(“.htaccess”),但需要啟用對此的支持。

開始使用R=302臨時重定向是個好主意,只有在您對工作方式感到滿意后才將其更改為R=301永久重定向。 這樣可以防止客戶端出現緩存問題。

暫無
暫無

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

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