2010-06-09 4 views
2

Я в настоящее время перезаписи URL-адреса изПерезапись URL-адрес с mod_rewrite

http://domain.com/profile/?u=10000017564881 

этого к этому

http://domain.com/profile/10000017564881 

со следующим переписыванием

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*?)\/?$ index.php?u=$1 [L] 

Однако я хотел бы, чтобы оптимизировать seo a litte и перейдите по ссылке:

http://domain.com/profile/10000017564881/Anything-I-want-here 

Очевидно, что/Все-я-хочу-здесь просто пустой игнорировали ...

парни Любая идея в? Очень ценный

ответ

6

Просто удалите из регулярного выражения $, и что-нибудь после того, как идентификационный номер будет проигнорирован, и URL будет переписан правильно.

RewriteRule ^(.*?)\/? index.php?u=$1 [L] 

# the following will work the same (as far as I can tell), and 
# it's a lot more obvious at first glance what it does, which is 
# match everything until the first slash 
RewriteRule ^([^/]+)  ... 

Когда я сделать что-то вроде этого, я хотел бы проверить URL в коде, и 301 перенаправления, если «Ничего-я-хочу-здесь» не совпадают с данными.

+0

RewriteRule^([^ /]) \ /? index.php? u = $ 1 [L] Нравится? кажется, не работает приятель. Я написал это правильно? – Webby

+0

Вы правы, я забыл '+'. Я протестировал обновленный на http://regexpal.com/, и он отлично работает. Вы можете опустить '\ /?', И он все равно будет работать. – zildjohn01

+0

Удивительный приятель спасибо! +1 – Webby

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