.htaccess 重写GET参数

.htaccess 重写GET参数,.htaccess,.htaccess,我正试图通过.htaccess重写$\u GET参数。我自己也试过,但没有成功。在下面检查我想要的: mydomain.com/system.php?id=748742 到 My/var/www/directory:prntscr.com/ixpt1x 我尝试过使用这个规则,但我的服务器一直说500内部服务器错误 RewriteRule ^system/(.*) /system.php?id=$1 [NC,L] 这是我当前的.htaccess文件 RewriteEngine On Rewri

我正试图通过.htaccess重写$\u GET参数。我自己也试过,但没有成功。在下面检查我想要的:

mydomain.com/system.php?id=748742

My/var/www/directory:prntscr.com/ixpt1x

我尝试过使用这个规则,但我的服务器一直说500内部服务器错误

RewriteRule ^system/(.*) /system.php?id=$1 [NC,L]
这是我当前的.htaccess文件

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

RewriteRule ^favicon.ico images/favicon.ico [L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,NC,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)(/|)$ $1.php [L]

ErrorDocument 404 404.php
ErrorDocument 403 404.php
ErrorDocument 500 404.php

这是问题评论中讨论的结果:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

RewriteRule ^favicon.ico images/favicon.ico [L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,NC,L]

RewriteRule ^/?system/(\d+)/?$ /system.php?id=$1 [NC,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)(/|)$ $1.php [L]

ErrorDocument 404 404.php
ErrorDocument 403 404.php
ErrorDocument 500 404.php

“不成功”到底意味着什么?您的http服务器错误日志文件说明了问题是什么?“没有成功”表示我的目标没有实现。我正试图重写这些URL的,但仍然没有工作,无论我做什么。我正在尝试检查我的服务器日志,但我相信我的主机一直在自动排除它们。您想如何在不访问日志文件的情况下调试您的系统?您需要在上一个现有重写规则之前添加新行,重写
/system
URL。确定,如果引用这些图像的URL也以
/system
开头,则需要完善该规则。可能类似于
RewriteRule^/?system/(\d+)/?system.php?id=$1[NC,L]
…URL中的“系统”仍然存在:mysite.com/system/images/poster/455568242.png。删除“系统”是可行的perfeclty@Amazingman在对问题的评论中,您声称这些图像不包含在
/system/
URL前缀下。现在你说他们是…@Amazingman,你能详细说明你最后的评论吗?我不明白你想用它来表达什么…我想说的是图像是从图像/文件夹中提取的,但不仅仅是这个,它还重写了css和js文件,所以你说的是相对引用。我发布的表单中的新规则不会在任何内容上添加尾随斜杠。它专门重写为以
.php
结尾的内部路径,不是吗?可能是您的脚本以这种方式引用,试图变得聪明,并使用
/system/
前缀分发引用。但如果是这样的话,那么这与重写规则无关,而是与脚本的实现方式有关。
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

RewriteRule ^favicon.ico images/favicon.ico [L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,NC,L]

RewriteRule ^/?system/(\d+)/?$ /system.php?id=$1 [NC,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)(/|)$ $1.php [L]

ErrorDocument 404 404.php
ErrorDocument 403 404.php
ErrorDocument 500 404.php
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

RewriteRule ^favicon.ico images/favicon.ico [L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,NC,L]

RewriteRule ^/?system/(\d+)/?$ /system.php?id=$1 [NC,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)(/|)$ $1.php [L]

ErrorDocument 404 404.php
ErrorDocument 403 404.php
ErrorDocument 500 404.php