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