2015-09-08 1 views
1

У меня проблема с переписыванием URL. Я хочу, чтобы получить URL по имени пользователя, какпереписывание URL-адресов по имени профиля

yourdomain.com/joshua 

Но EROR пребывания на 404.

.htaccess

ErrorDocument 404 /eror/404.php 
ErrorDocument 403 /eror/403.php 
ErrorDocument 500 /eror/403.php 

RewriteEngine on 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.recettes.nl/$1 [R,L] 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^about$ about.php 
RewriteRule ^recettes$ recettes.php 
RewriteRule ^contact$ contact.php 
RewriteRule ^([A-Za-z0-9-]+)/?$ profile.php?user=$1 [QSA,L] 
RewriteRule ^recept$ recept.php 

RewriteRule ^login$ login.php 
RewriteRule ^logout$ logout.php 
RewriteRule ^register$ register.php 

.profile.php

if(!(isset($_GET['user']) && $_GET['user'] == $me['id'] || !isset($_GET['user'])) || isset($me)) { 
    redirectByPermission('profiles'); 
} 
function notempty($str) { 
    return ($str != ''); 
} 
if(isset($_GET['user'])) { 
    $user_sql = $dbh->prepare('SELECT * FROM users WHERE id = :id'); 
    $user_sql->bindParam(':id', trim($_GET['user']), PDO::PARAM_INT); 
    $user_sql->execute(); 
    $user = $user_sql->fetch(); 
}else{ 
    $user = $me; 
} 

Может кто помогите мне с этим и скажите мне, что я сделал неправильно?

+0

Вам просто нужно: «RewriteRule^([A-Za-z0-9 -] +) /? $ Profile.php? User = $ 1 [QSA, L]' – anubhava

+0

@anubhava Это дает ERR_TOO_MANY_REDIRECTS eror. –

+0

Это правило даже не перенаправляется, поэтому у вас есть другие противоречивые правила. – anubhava

ответ

1

Иметь свой полный .htaccess, как это:

ErrorDocument 404 /eror/404.php 
ErrorDocument 403 /eror/403.php 
ErrorDocument 500 /eror/403.php 

RewriteEngine on 
RewriteBase/

RewriteCond %{HTTPS} off 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [R=302,L] 

RewriteRule ^(about|recettes|contact|login|logout|register)/?$ $1.php [L,NC] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([A-Za-z0-9-]+)/?$ profile.php?user=$1 [QSA,L] 

Убедитесь, чтобы проверить его после того, как очистить кэш браузера.

+0

Я изменил его и thnx для страниц страницы :-) но по профилю я все еще получаю ERR_TOO_MANY_REDIRECTS, https://www.recettes.nl/joshua это тестовый профиль –

+0

Thnx, я обновляю его, но он перенаправляет на/профиль, когда я иду в/joshua ... –

+0

Нет, если есть какой-то другой код или правило, этот код не будет перенаправлен на '/ profile' – anubhava

0

Попробуйте это,

RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?name=$1 [QSA,L] 

Надеется, что это поможет.

+0

Thnx, я попробую, у меня уже был rewriteEngine и т. Д., Но не -d и -f. –

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