簡體   English   中英

URL重寫無法在Apache工作?

[英]url rewrite not working in apache?

您好,即時通訊使用PHP應用程序。 現在我想為SEO友好實現URL重寫概念。我當前的URL是domain.com?category-view.php?manufacturer=Apple

我想要上面的URL作為

domain.com/category-view/manufacturer/apple (or)

domain.com/category-view/apple

我已經創建了.htaccess文件,並將此代碼重寫

RewriteEngine On
RewriteRule ^([A-Za-z0-9_-]{4,60})$ category-view.php?manufacturer=$1 

但它沒有工作。 幫我解決這個問題

這對我有用

RewriteEngine On
RewriteRule ^category-view/([A-Za-z0-9_\-]{4,60})$ category-view.php?manufacturer=$1 

根據http://httpd.apache.org/docs/current/mod/mod_rewrite.html的說明,當您在.htaccess文件中使用RewriteRule ,您需要使用RewriteBase指定基本URL或用它代替文件系統路徑 因此,嘗試將其添加到您的.htasccess文件中:

RewriteBase ?

加載mod_rewrite

  1. 在開始此操作之前,請確保為原始文件制作了備份副本,以防萬一出錯,這樣您就可以始終返回到原始配置-在開始執行此類操作之前始終進行備份。)
  2. 找到httpd.conf文件(通常會在名為conf,config或類似名稱的文件夾中找到它。在Fedora中,您可以在/ etc / httpd /目錄中找到它。)
  3. 在httpd.conf文件中,找到並取消注釋LoadModule rewrite_module modules / mod_rewrite.so行(從行前面刪除井號'#'符號-#符號用於注釋,通過刪除#符號,即可取消注釋)線)
  4. 還找到ClearModuleList這行未注釋,然后找到並確保AddModule mod_rewrite.c行沒有被注釋掉。 (我沒有在Fedora中找到這些,但是我的mod_rewrite很好用)
  5. 進行更改並保存后,請重新啟動httpd(apache)服務器以使更改生效。 最簡單的方法是轉到shell命令並鍵入:/etc/init.d/httpd restart(這對Fedora起作用,對於其他發行版可能有所不同!)
  6. 完成

來自http://www.wallpaperama.com/disp-post10.html

另請參見http://httpd.apache.org/docs/current/mod/mod_rewrite.html

在“ RewriteEngine On”之前添加此行

Options +FollowSymLinks -MultiViews

它對我有用。

您是否檢查過安裝中啟用了mod_rewrite? 您可以通過在文件中放入<?php phpinfo() ?>來快速檢查。 查找“ mod_rewrite”。

暫無
暫無

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

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