Redirect everything after Sub Directory, keep URL
I need to redirect /acatalog/vvv-123 to /vvv-123
This is what I have in my .htaccess file at the moment:
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteRule ^/acatalog/([^/]+)/$ /$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Any help would be great.
.htaccess redirect
add a comment |
I need to redirect /acatalog/vvv-123 to /vvv-123
This is what I have in my .htaccess file at the moment:
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteRule ^/acatalog/([^/]+)/$ /$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Any help would be great.
.htaccess redirect
add a comment |
I need to redirect /acatalog/vvv-123 to /vvv-123
This is what I have in my .htaccess file at the moment:
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteRule ^/acatalog/([^/]+)/$ /$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Any help would be great.
.htaccess redirect
I need to redirect /acatalog/vvv-123 to /vvv-123
This is what I have in my .htaccess file at the moment:
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteRule ^/acatalog/([^/]+)/$ /$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Any help would be great.
.htaccess redirect
.htaccess redirect
asked Nov 21 '18 at 11:38
WebDevBWebDevB
1952219
1952219
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You need to understand, that RewriteRules in dynamic configuration files operate in relative paths, in contrary to absolute paths that are used when defining such rules in the real http servers host configuration. That is why your rule does not get applied. This is well documented, by the way...
So you need to change
RewriteRule ^/acatalog/([^/]+)/$ /$1 [L]
to use a relative path approach, so something like
RewriteRule ^/?acatalog/([^/]+)/? /$1 [L]
Note the start and the end of the pattern change: the question mark at the start takes care that the rule gets applied on a relative or an absolute path, that at the end takes care that the rule also gets applied if the request does not end with a slash.
In general you should prefer to place such rules in the real http servers host configuration instead of relying on dynamic configuration files.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53411260%2fredirect-everything-after-sub-directory-keep-url%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You need to understand, that RewriteRules in dynamic configuration files operate in relative paths, in contrary to absolute paths that are used when defining such rules in the real http servers host configuration. That is why your rule does not get applied. This is well documented, by the way...
So you need to change
RewriteRule ^/acatalog/([^/]+)/$ /$1 [L]
to use a relative path approach, so something like
RewriteRule ^/?acatalog/([^/]+)/? /$1 [L]
Note the start and the end of the pattern change: the question mark at the start takes care that the rule gets applied on a relative or an absolute path, that at the end takes care that the rule also gets applied if the request does not end with a slash.
In general you should prefer to place such rules in the real http servers host configuration instead of relying on dynamic configuration files.
add a comment |
You need to understand, that RewriteRules in dynamic configuration files operate in relative paths, in contrary to absolute paths that are used when defining such rules in the real http servers host configuration. That is why your rule does not get applied. This is well documented, by the way...
So you need to change
RewriteRule ^/acatalog/([^/]+)/$ /$1 [L]
to use a relative path approach, so something like
RewriteRule ^/?acatalog/([^/]+)/? /$1 [L]
Note the start and the end of the pattern change: the question mark at the start takes care that the rule gets applied on a relative or an absolute path, that at the end takes care that the rule also gets applied if the request does not end with a slash.
In general you should prefer to place such rules in the real http servers host configuration instead of relying on dynamic configuration files.
add a comment |
You need to understand, that RewriteRules in dynamic configuration files operate in relative paths, in contrary to absolute paths that are used when defining such rules in the real http servers host configuration. That is why your rule does not get applied. This is well documented, by the way...
So you need to change
RewriteRule ^/acatalog/([^/]+)/$ /$1 [L]
to use a relative path approach, so something like
RewriteRule ^/?acatalog/([^/]+)/? /$1 [L]
Note the start and the end of the pattern change: the question mark at the start takes care that the rule gets applied on a relative or an absolute path, that at the end takes care that the rule also gets applied if the request does not end with a slash.
In general you should prefer to place such rules in the real http servers host configuration instead of relying on dynamic configuration files.
You need to understand, that RewriteRules in dynamic configuration files operate in relative paths, in contrary to absolute paths that are used when defining such rules in the real http servers host configuration. That is why your rule does not get applied. This is well documented, by the way...
So you need to change
RewriteRule ^/acatalog/([^/]+)/$ /$1 [L]
to use a relative path approach, so something like
RewriteRule ^/?acatalog/([^/]+)/? /$1 [L]
Note the start and the end of the pattern change: the question mark at the start takes care that the rule gets applied on a relative or an absolute path, that at the end takes care that the rule also gets applied if the request does not end with a slash.
In general you should prefer to place such rules in the real http servers host configuration instead of relying on dynamic configuration files.
answered Nov 21 '18 at 11:44
arkaschaarkascha
30.5k43571
30.5k43571
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53411260%2fredirect-everything-after-sub-directory-keep-url%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown