【发布时间】:2013-11-01 11:44:47
【问题描述】:
我希望能够将我的长链接重定向到一个较短的链接,
来自:http://mydomain.com/deploy/inc/PhpThumb/phpThumb.php?src=URLHERE 对此:http://mydomain.com/PhpThumb/URLHERE
这是我尝试在我的 .htaccess 文件中执行的操作:
RewriteEngine On
RedirectRule ^PhpThumb/([A-Za-z0-9-]+)$ deploy/inc/PhpThumb/phpThumb.php?src=$1 [NC,L]
不知道我做错了什么。
编辑,这是我的 .htaccess 中的内容:
Options -Indexes
ErrorDocument 404 /_1/www/index.php?error=404
ErrorDocument 403 /_1/www/index.php?error=403
RewriteEngine On
#RewriteRule ^PhpThumb$ /deploy/inc/PhpThumb/phpThumb.php
RewriteCond %{QUERY_STRING} !^src=.+ [NC]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+PhpThumb/([^\s]+) [NC]
RewriteRule ^ deploy/inc/PhpThumb/phpThumb.php?src=%1 [QSA,L,NE]
【问题讨论】:
-
([A-Za-z0-9-]+)将只接受这些字符(A-Z、a-z、0-9、-)。通常在一个 URL 中你有更多,比如:、/、?。您需要更改您的正则表达式以允许它们。 -
向我们展示无法按预期工作的链接。
标签: php regex apache .htaccess mod-rewrite