пользовательские правила .htaccess переписать - PullRequest
0 голосов
/ 08 января 2012

Я хочу перенаправить все на один скрипт, например index.php?url=inputurl

С помощью if / else я хочу разобрать URL

в index.php выполнить запрос для URL в моей пользовательской таблице

  • , если url: mach: echo "ok"
  • иначе ничего не делать

Как мне установить .htaccess в корневой папке Wordpress?

* * Пример тысяча двадцать-один: * * 1 022

URL в custom_table:

  • ASD
  • DFG
  • ghj

Если пользователь ставит:

www.mysite.com / ASD

-> mod_rewrite должен вывести это: www.mysite.com/index.php?url=asd

Остальное , если пользователь вводит:

www.mysite.com / ZZZ

-> ничего не делать

Ответы [ 2 ]

2 голосов
/ 08 января 2012

Вы хотите, чтобы оба могли читать из базы данных и ничего не делать, если они не совпадают.

Для этого потребуется запустить код для доступа к базе данных, а затем вернуться к apache для обработки, что невозможно из .htacccess (хотя это из httpd.conf).

Решением .htaccess было бы указать все встроенные записи таблицы, как показано ниже.

RewriteEngine on
RewriteBase /

#if asd or dfg or ghj
RewriteCond %{REQUEST_URI} ^/(asd|dfg|ghj) [NC]
RewriteRule . index.php?url=%{REQUEST_URI} [L]
2 голосов
/ 08 января 2012

Я думаю, что следующий .htaccess должен решить проблему:

RewriteEngine On

# Redirects everything that is not index.php to index.php
RewriteCond $1 !^index\.php
RewriteRule ^(.*)$ index.php?url=$1 [L,R]

Редактировать: , чтобы не включать ваши папки и файлы (такие как / js, / css и т. Д.) Вперепишите, добавьте следующие строки перед строкой RewriteRule (см. комментарии):

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

И в сценарии PHP:

$url = $_GET['url'];

// the method is_valid should check if the page exists in DB
if (is_valid($url)) {
    // do something here
    // maybe redirect with header('Location: path')
} else {
    // show a not found page (error 404)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...