2016-08-22 2 views
1

Что такое правильный синтаксис для использования в 2.4.7 .htaccess файл Apache, чтобы получитьПравильный синтаксис для mod_rewrite?

http://www.example.com/go/stuff

переписать в:

http://www.example.com/index.php?tab=go&page=stuff?

Какой синтаксис я использую в директивах RewriteCond и RewriteRule?

+1

Возможный дубликат [Как сделать URL переписывания в PHP?] (Http://stackoverflow.com/questions/1039725/how -to-do-url-re-writing-in-php) –

+0

К сожалению, это не сработало. Я просто получаю 500 или 404 ошибки, когда я их пытаюсь, включая рекомендации по ссылке. – Warwick

+0

вы передаете эти переменные 'tab = go & page = stuff' в index.php, я предполагаю. –

ответ

1

Вы можете попробовать это правило в корне сайта .htaccess:

RewriteEngine On 

# If the request is not for a valid directory 
RewriteCond %{REQUEST_FILENAME} !-d 
# If the request is not for a valid file 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([\w-]+)/([\w-]+)/?$ index.php?tab=$1&page=$2 [L,QSA] 
+1

Это правильно, за исключением 'page = $ 2', вместо' $ 1'. Это помогает мне понять, в чем я ошибаюсь. Я получаю это сейчас! Благодаря! – Warwick

+0

А вы правы, это была опечатка, должно быть, 'page = $ 2' – anubhava

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