Regex .htaccess RewriteRule from download.php?token=something to/download/something
我有这个网址:Regex .htaccess RewriteRule from download.php?token=something to/download/something,regex,apache,.htaccess,mod-rewrite,Regex,Apache,.htaccess,Mod Rewrite,我有这个网址: http://www.example.com/subf/subf2/download.php?token=6309838552568 是否可以将此url重写为此url? http://www.example.com/subf/subf2/download/6309838552568 注意:如果有人键入如下URL: http://www.example.com/subf/subf2/download/6309838552568/sbuf3/subf4 我想给他们看一个错误页面 回答
http://www.example.com/subf/subf2/download.php?token=6309838552568
是否可以将此url重写为此url?
http://www.example.com/subf/subf2/download/6309838552568
注意:如果有人键入如下URL:
http://www.example.com/subf/subf2/download/6309838552568/sbuf3/subf4
我想给他们看一个错误页面 回答下面的问题
提示:包括需要在绝对路径中引用的JS和CSS等文件。通过
httpd.conf
启用mod_rewrite和.htaccess,然后将此代码放在文档根目录/subf/subf2/
下的中
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /subf/subf2/
RewriteRule ^(download)/(\w+)/?$ $1.php?token=$2 [L,QSA,NC]
# to take care of css, js, images
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} \.php$
RewriteRule ^download/(.+)$ /subf/subf2/$1 [L,R=301,NC]
谢谢你的回复。我在应用程序文件夹中已经有一个.htaccess文件,所以我想我编辑了你的最后一行,但它不起作用:RewriteRule^(下载)/(\w+)/?$/$1.php?token=$2[L,QSA,NC]
我编辑了上面的代码,这个规则现在可以进入/subf/subf2/.htaccess
好的,我现在可以通过url访问它了,但是还有两件事:1.)我现在不能访问我的GET parameter令牌(在download.php中只有这个echo$\u GET['token']
和2。)我不想像在rewritebase中那样使用绝对路径,是否有机会使用相对路径或用变量替换rewritebase字符串?Sry,数字1不正确。我可以访问get参数,但是css和js脚本已经没有了。恭喜!js、css、图像等是人们在切换到漂亮URL时最常见的问题。修复很容易。确保始终在它们中使用绝对路径,即从http://
或/
开始的src