Intereting Posts
Переименование функций во время выполнения в PHP Запретить пустое пространство в запросе, преобразованном в% 20 Обновление многих операторов SQL в PHP-коде Доступ к классам IPB на внешнем сервере с основного сайта Как определить маршрут исключения для глобального фильтра laravel? Как получить Facebook Follower с помощью Graph Api и Graph Secret? Снимок экрана с текущей страницы с помощью PHP Math / Algorithm / JS: Как определить, пересекаются ли прямоугольники 2+, учитывая TopLeft (x0, y0) и Bottom-Right (x1, y1) каждого прямоугольника переписать соединение и запрос из mysql в mysqli PHP цикл через массив текстовых полей HTML Медленная производительность при создании подписанных URL CloudFront Является ли порядок ассоциативного массива гарантированным в PHP? Определение того, установлена ​​ли переменная во включенном файле в PHP Выбор данных из mySQL с использованием идентификатора в URL-адресе Laravel 5.2 Вспышка сеанса не работает даже с веб-промежуточным программным обеспечением

htaccess переписать URL-адрес с разных страниц

Я делаю это в файле htaccess .. для перезаписи url с другой страницы

Options +FollowSymLinks RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([a-zA-Z0-9_-]+)$ profile.php?username=$1 [QSA] RewriteRule ^([a-zA-Z0-9_-]+)/$ profile.php?username=$1 [QSA] 

и это прекрасно работает ..

теперь мне нужно добавить еще как facebook

вы можете установить facebook.com/username

который: facebook.com/profile.php?username=

& вы можете поместить facebook.com/pagename, который: facebook.com/pages.php?username=

и отлично работает

с разных страниц ..

Мне нужно сделать вот так.

любая помощь ?!

 RewriteRule ^([a-zA-Z0-9_-]+)$ profile.php?username=$1 [QSA] RewriteRule ^([a-zA-Z0-9_-]+)/$ profile.php?username=$1 [QSA] RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?username=$1 [QSA] RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?username=$1 [QSA] 

Solutions Collecting From Web of "htaccess переписать URL-адрес с разных страниц"

Ваши шаблоны регулярных выражений совпадают одинаково, поэтому вам потребуется что-то, чтобы различать страницы и людей (или перенаправление на profile.php vs. index.php).

Вы можете сделать это одним из двух способов. Во-первых, вы можете перейти на одну страницу, назовем ее redirect.php. На этой странице вы можете проверить значение id и затем перенаправить. Так вот:

  RewriteRule ^([a-zA-Z0-9_-]+)/?$ redirect.php?id=$1 

В redirect.php вы захватываете $_GET['id'] и запускаете некоторый запрос против него, чтобы определить, является ли это страницей или человеком, а затем перенаправить с помощью чего-то вроде:

  header("Location: profile.php?username=".$_GET['id']); 

Если вы строго ищете материал, связанный с Facebook, вы можете использовать API-интерфейс графика вместо базы данных, чтобы определить, есть ли его идентификатор страницы или человека. (Не уверен, что он может существовать в обоих – но я думаю, что нет).

Если у вас нет базы данных или источника данных, чтобы определить, является ли ее страница или лицо, вам нужно добавить что-то в строки вашего URL, чтобы определить, например / pages / {pageid}, которые вы могли бы переписать свои правила чтобы:

  RewriteRule pages/([a-zA-Z0-9_-]+)/?$ index.php?username=$1 # for pages RewriteRule ^([a-zA-Z0-9_-]+)/?$ profile.php?username=$1 # for people 

Если вы не можете использовать что-то в своем URL-адресе и не имеете доступа к нему через базу данных, вам не повезло, так как вы нажмете два одинаковых шаблона.