简体   繁体   中英

Issue with htaccess url redirections

I have an htaccess (apache) file that has the following rules :

RewriteEngine on
RewriteRule questionnaire/login questionnaire/login.php
RewriteRule questionnaire/logout questionnaire/logout.php
RewriteRule questionnaire/account questionnaire/account.php
RewriteRule questionnaire/reopen/id/[(^/]+)$ questionnaire/reopen_questionnaire.php?id=$1 [L]
RewriteRule questionnaire/register questionnaire/register.php
RewriteRule questionnaire/registration questionnaire/registration.php

When I run my site it gives me the following error : The server encountered an internal error or misconfiguration and was unable to complete your request.

When I remove this line : RewriteRule questionnaire/reopen/id/[(^/]+)$ questionnaire/reopen_questionnaire.php?id=$1 [L] it works fine, can someone tell me why please?

You're not nesting your code properly:

RewriteRule questionnaire/reopen/id/[(^/]+)$ questionnaire/reopen_questionnaire.php?id=$1 [L]

Should be:

RewriteRule questionnaire/reopen/id/([^/]+)$ questionnaire/reopen_questionnaire.php?id=$1 [L]

Problem is around the brackts -> "( )"

尝试更改为:

RewriteRule questionnaire/reopen/id/([A-Za-z0-9-]+)/?$ questionnaire/reopen_questionnaire.php?id=$1 [L]

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM