簡體   English   中英

mod_rewrite添加完整目錄

[英]mod_rewrite adding full directory

我有一個.htaccess文件來控制我的Apache服務器。 開啟RewriteEngine后,我有一條重寫規則可以正常工作:

RewriteRule ^display\.php/([a-zA-Z0-9-z\-]+)$ "https://pastelink.net/display?q=$1" [R=301,L]

在下一行中,我嘗試添加另一個規則,以將sitemap.xml重定向到sitemap.php。

我都嘗試過:

RewriteRule ^sitemap.xml$ "https://pastelink.net/sitemap.php" [R=301, L]

RewriteRule ^sitemap.xml sitemap.php [R=301, L]

以及其他組合,包括或省略^ $和標志。 每次的結果都是對此的重寫:

https://pastelink.net/home/pastelin/public_html/sitemap.php

當我的意圖是:

https://pastelink.net/sitemap.php

為什么將這些額外的目錄添加到URL中? 我看不出為什么它的行為與第一個重寫規則不同。 如果有幫助,我可以發布整個.htaccess文件,盡管L標志應該使后面的代碼無關緊要。

您不需要http://獲得無聲重寫規則。 保持根.htaccess如下:

RewriteEngine On
RewriteBase /

RewriteRule ^display\.php/([\w-]+)/?$ https://pastelink.net/display?q=$1 [R=301,L,QSA,NC]
RewriteRule ^sitemap\.xml$ sitemap.php [NC,L]

在測試這些更改之前,您應該清除瀏覽器緩存。

暫無
暫無

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

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