Удаление расширения .php с проблемами mod_rewrite и SEO - PullRequest
0 голосов
/ 13 сентября 2010

Я пытаюсь использовать modrewrite, чтобы изменить мои URL-адреса с /foo.php на / foo и с /foo.php?lang=en на / en / foo.У меня проблема в том, что я думаю, что мне нужно использовать перенаправление 301, чтобы переместить адрес .php-less на адрес .php, иначе мой рейтинг будет разделен на эти 2. Но если я использую [R = 301] адресв баре меняется на .php, что делает мои красивые URL-адреса совершенно бесполезными.Что мне делать?

Я искал любой вопрос \ учебник, который мог найти, но не могу полностью понять modrewrite.Основная проблема, с которой я столкнулся, заключается в том, что если я изменяю свой файл .htaccess, а затем снова посещаю уже посещенную страницу, новый .htaccess не работает, но каким-то образом кэширует старый результат, делая исправление настоящей болью.Знаете ли вы обходной путь?

Спасибо,

Мокучан

Ответы [ 2 ]

1 голос
/ 13 сентября 2010

Похоже, что MultiViews будет лучшим решением, чем переписать URL.Просто вставьте это в ваш .htaccess.По сути, это то, что если я введу stackoverflow.com/pages, то сначала будет искать каталог с именем pages, если он не может его найти, файл.Затем вы можете иметь stackoverflow.com/pages/view/some/page, где /view/some/page - это запрос.

Options Indexes FollowSymLinks Includes MultiViews

Редактировать Чтобы получить /view/some/page/, используйте $_SERVER['PATH_INFO'];

0 голосов
/ 13 сентября 2010

Вы определенно должны взглянуть на Apache modul mod_rewrite и общую идею переписывания URL.

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

...