2015-09-17 3 views
2

Мой URL является: http://www.website.com/profile.php?username=xyzКак изменить URL, как Subfolder

Но я хочу изменить в этом: http://www.website.com/xyz

Удастся ли с помощью .htaccess?

Я попытался, но это дает мне:

Внутренняя ошибка.

RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} ! -f 
RewriteCond %{REQUEST_FILENAME} ! -d 
RewriteRule (.*) profile.php?username=$1 
+0

Вы можете показать ваше правило (даже если он не работает) – anubhava

+0

RewriteEngine на RewriteBase/ RewriteCond% {REQUEST_FILENAME}! -f RewriteCond% {REQUEST_FILENAME}! -d RewriteRule (. *) profile.php? username = $ 1 – Adas

+0

Возможный дубликат [Ссылка: mod \ _rewrite, переписывание URL и ссылки на «красивые ссылки»] (http://stackoverflow.com/questions/20563772/reference- mod-rewrite-url-rewriting-and-pretty-links-explain) –

ответ

1

Попробуйте этот код:

DirectoryIndex index.php 
RewriteEngine on 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.+) profile.php?username=$1 [L,QSA] 

Там не должно быть пространство между ! и -f или -d в RewriteCond.

+0

Привет, спасибо за ответ, он работает. Но с любым URL-адресом теперь открывается страница. http://www.website.com/xyz, http://www.website.com/123abc....i Думаете, это так, как это можно сделать? – Adas

+0

Да, это правильно. Он будет маршрутизировать любую вещь, например 'http: // www.website.com/foobar', на' http: //www.website.com/profile.php? Username = foobar' Только ваш код внутри 'profile.php' может фигурировать вне зависимости от того, является ли имя пользователя действительным или нет, возможно, запрашивая базу данных. – anubhava

+1

Да, он решил мой запрос, вы предоставили мне отличную помощь. Спасибо. – Adas

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