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