I have a PHP script located at http://localhost/dir1/dir2/shift.php
that I am passing urls as parameters to like so: http://localhost/dir1/dir2/https://google.com
but I am getting a Forbidden you don't have access error. When I remove the :
it works fine though. I have checked my regex with some online regex validation tools and it says that it should be working but it doesn't
RewriteEngine on
RewriteRule ^dir1\/dir2\/([A-Za-z0-9\!\@\#\$\%\^\&\*\(\)\_\-\+\=\{\}\[\]\;\:\'\"\<\,\>\.\?\|\~\`\s\/\\]+)\/? dir1\/dir2\/shift.php?url=$1 [L]
Any help would be great. Thanks!
You should not use reserved characters in URL.
Though you can URL encode and then pass it as a parameter. For example:
http://localhost/dir1/dir2/shift.php?
param=http%3A%2F%2Flocalhost%2Fdir1%2Fdir2%2Fhttps%3A%2F%2Fgoogle.com
And then in shift.php
you can first URL decode the parameter and then use.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.