[英]htaccess and mod_rewrite redirect error
在ubuntu 13.04,apache2和php 5.4上我收到404錯誤。 我的機器上啟用了mod rewrite
我的.htaccess代碼如下:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^/dl/([0-9]+)/$ dl.php?id=$1
</IfModule>
並將dl.php設置為僅回顯變量:
<?php
print_r($_GET);
?>
在輸出上,當我將轉到此地址http://localhost/digidoc/dl/5
它顯示404錯誤
ps:digidoc文件夾和digidoc文件夾中包含的.htaccess文件位於Web服務器根目錄中
更改
RewriteRule ^/dl/([0-9]+)/$ dl.php?id=$1
成
RewriteRule ^/digidoc/dl/([0-9]+)/?$ dl.php?id=$1
注意?,因此最后一個斜杠是可選的。 還要添加digidoc/
因為該規則將應用於整個URL。
您需要擺脫領先的斜杠:
Options -Multiviews
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /digidoc/
RewriteRule ^dl/([0-9]+)$ dl.php?id=$1 [L,QSA]
</IfModule>
您還應該包括一個重寫基礎,並確保您已關閉多視圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.