我似乎无法得到我的' GET'用我的htaccess代码传递的变量。它在下面:
<IfModule mod_rewrite.c>
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php[\s?] [NC]
RewriteRule ^ %1 [R=301,L]
RewriteRule ^/(.*)/(.*)/(.*)$ v.php?shareid=$1&filename=$2 [QSA, L]
</IfModule>
我在根目录中有v.php
,而不在任何文件夹中,我正在尝试获取以下网址:
http://localhost/v/ubgvfmrsazwxoyp/Screen%20Shot%202015-11-05%20at%2020.51.45.png
其中ubgvfmrsazwxoyp
是shareid,Screen%20Shot%202015-11-05%20at%2020.51.45.png
是文件名。
加载页面时没有注册。 注意:我还想隐藏.php扩展程序。
有什么想法吗?
答案 0 :(得分:2)
RewriteEngine On
RewriteBase /
RewriteRule ^v/([^/]+)/(.*)/?$ v.php?shareid=$1&filename=$2 [L]
您之前获得v
shareid
和ubgvfmrsazwxoyp
作为文件名。
注意:上述代码专门用于服务器根目录中的.htaccess文件。如果重写规则在vhost配置或服务器配置文件中,则您需要使用:
RewriteRule ^/v/([^/]+)/(.*)/?$ v.php?shareid=$1&filename=$2 [L]