2011-05-16 2 views
0

У меня есть URLs:Htaccess изменить URL

http://example.com/at 
and want to get: 
http://example.com/at/index.php?at= 

http://example.com/at/ 
and want to get: 
http://example.com/at/index.php?at= 

http://example.com/at/1asSde 
and want to get: 
http://example.com/at/index.php?at=1asSde 

Кроме того, я модифицирования .htaccess, расположенный в папке 'на'

Я пытался:

RewriteEngine On 
RewriteRule (.*)$ index.php?at=$1 [QSA,L] 

но я получаю ошибки позже при запуске скрипта сайта.

Что я могу попробовать вместо этого, чтобы получить правильные результаты?

Спасибо.

+0

вы упускаете условие перезаписи –

+0

Вы пытались распечатать '$ _GET ['at']'? – AndersTornkvist

+0

Какие ошибки? –

ответ

0

Попробуйте следующее

RewriteEngine On 
RewriteRule ^at/(.*)$ at/index.php?at=$1 [QSA,L] 

Вам не нужно правило для at так долго, как at/index.php является физического места. Я бы посоветовал вам создать лучшее совпадение для at. Например, измените значение (.*) на (\w+), если оно может быть только буквенно-цифровым.

0
RewriteEngine On 
RewriteRule ^at/(.*)$ index.php?at=$1 [QSA,L] 
0

Вы хотите, чтобы убедиться, что ресурс, который вы пытаетесь получить, не существует, прежде чем переписывать URL:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*)$ index.php?at=$1 [QSA, L] #didn't test to make sure this line actually works. 
Смежные вопросы