简体   繁体   中英

htaccess rewrite rule without changing URL

I have this code in my htaccess file:

Options +FollowSymLinks -MultiViews
RewriteEngine On

RewriteBase /

#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9-/_]+)/?$ http://subdomain.example.com/index.php?id=$1 [L,QSA]

but everytime i go to something like http://subdomain.example.com/test/test

it should resolve to:

http://subdomain.example.com/index.php?id=test/test

which it does, but its changing my URL to be the above and its not keeping the original URL

Remove http:// from your target URL:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} =subdomain.example.com
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?id=$1 [L,QSA]

I have also corrected your regex in RewriteRule .

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM