簡體   English   中英

用.htaccess重寫動態URL

[英]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.

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