2014-10-22 4 views
1

У меня есть этот код в моем файл .htaccess:Htaccess правило перезаписи без изменения URL

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] 

, но каждый раз, когда я иду на что-то вроде http://subdomain.example.com/test/test

он должен решить, чтобы:

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

который он делает, но его изменение моего URL-адреса должно быть выше и не сохранять исходный URL-адрес

ответ

1

Удалить http:// из вашей целевой 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] 

Я также исправил регулярное выражение в RewriteRule.

+0

Теперь я получаю страницу 404 Not Found – user3843997

+0

Вы вводите 'http: // subdomain.example.com/test/test' в своем браузере? Есть ли больше правил в этом .htaccess и где находится этот .htaccess? – anubhava

+0

Да, я вхожу в это. Субдомен указывает на каталог в корне и htaccess его местоположение в каталоге – user3843997

Смежные вопросы