[英]Re-writing Dynamic URL with .htaccess
我想刪除所有網頁末尾的“ .php”,並重寫“ example.com/archive?url = ...”部分的動態網址。
我到目前為止所得到的:
Options -MultiViews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
這部分工作正常,但現在我也想為網站的以下部分重寫我的動態URL。
舊網址: example.com/archive? url = test-article
新網址: example.com/archive/test-article
RewriteRule ^archive/([^/]+)$ archive?url=$1
這部分不起作用。 我在這里想念什么?
它用於附加域,所以也許與問題有關?
編輯1:
我在.htaccess文件中放入了一些垃圾,它生成了一個錯誤,因此我確定它正在讀取文件。
編輯2:
我按照以下建議禁用了多視圖,但是現在出現內部服務器錯誤。 這是錯誤日志:
[2014年5月20日星期二13:12:12] [錯誤] [客戶端(ip)]由於可能的配置錯誤,請求超出了10個內部重定向的限制。 必要時使用'LimitInternalRecursion'增加限制。 使用“ LogLevel調試”獲取回溯
編輯3:我找到了解決方案
我通過將最后一條規則更改為解決了該問題:
RewriteRule ^news/([^/]+)$ archive?url=$1
您最有可能啟用了MultiViews
選項。
您可以使用以下方式禁用該功能:
Options -MultiViews
禁用MultiViews
,當您請求/file
時,它將不提供/file.php
服務。
編輯:根據您修改后的問題,您可以執行以下操作:
RewriteRule ^news/([^/]+)$ archive?url=$1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.