mod_rewrite Assitance - PullRequest
       6

mod_rewrite Assitance

0 голосов
/ 26 января 2010

Мне нужна помощь по поводу mod_rewrite,

это мой wordpress адрес:

http://localhost/my_v2010/restaurants?m=display_Add

base_url: http://localhost/my_v2010/

POST_NAME: ресторан

строка запроса:? M = display_Add

Я хотел бы использовать режим перезаписи, пусть пользователь просто наберет

http://localhost/my_v2010/restaurants/display_Add

есть подсказка, как писать в .htaccess?

Я пытался

RewriteEngine On
RewriteBase /my_v2010/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /my_v2010/index.php [L]
RewriteRule ^restaurants/([^/]+)/?$ restaurants?m=$1 [L]

но не повезло, это не показывало, что http://localhost/my_v2010/restaurants?m=display_Add показал. Так что мне нужны ваши парни, помогите. Большое спасибо!

Ответы [ 3 ]

1 голос
/ 27 января 2010

Принудительное перенаправление URL-адреса обратно в браузер, чтобы WordPress мог его понять:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /my_v2010/
RewriteRule ^restaurants/([^/]+)/?$ restaurants?m=$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /my_v2010/index.php [L]
</IfModule>
# END WordPress

Это перезапишет запрос в ожидаемый формат, а затем снова пройдет, пропустив его через страницу index.php для WordPress.

0 голосов
/ 27 января 2010

я изменяю на

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /my_v2010/
RewriteRule ^restaurants/([^/]+)/?$ restaurants?m=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /my_v2010/index.php [L]
</IfModule>
# END WordPress

стало 404. не найдено.

так что я думаю http://localhost/my_v2010/restaurants/display_Add не в конечном итоге, как http://localhost/my_v2010/restaurants?m=display_Add

Я все еще могу получить http://localhost/my_v2010/restaurants?m=display_Add бег, но не http://localhost/my_v2010/restaurants/display_Add

0 голосов
/ 26 января 2010

попробуйте изменить ваши правила. тег [L] означает, что запускается последнее правило.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...