【发布时间】:2014-03-06 09:32:18
【问题描述】:
我真的被我的 .htaccess 文件困住了,需要一些帮助:)。我有一个用于测试的 WordPress 安装。它在一个文件夹中,我使用 .htaccess 到达那里。这是我目前使用的规则:
######### Custom #########
RewriteEngine On
# ignore folders
RewriteCond %{REQUEST_URI} "/af1wp/"
RewriteRule (.*) $1 [L]
###############
# only for me #
###############
# HOME (Senne Tijdeman)
RewriteCond %{REMOTE_ADDR} ^###\.###\.###\.###$
RewriteCond %{HTTP_HOST} ^((www.)?([a-z0-9_\-]+).)?alleenf1.nl$
RewriteCond %{REQUEST_URI} !^/af1wp/$
RewriteRule ^(.*)$ /af1wp/$1 [L]
这可行(当然是使用我的真实 IP 地址),所以没有问题。但现在我想将现有 URL 重写为新格式。旧网址是这样的:
http://alleenf1.nl/nieuws/QOgbb/raikkonen-alles-is-mogelijk-in-australi
新的 URL 应该是这样的:
http://alleenf1.nl/raikkonen-alles-is-mogelijk-in-australi
我要删除的部分“nieuws/QOgbb/”并不总是相同的,所以我必须使用正则表达式。但我尝试的一切都没有奏效。
我认为这很简单,但不幸的是显然不适合我。现在我有 2 个问题。
- 执行此操作的正确 RewriteRule 是什么?
- 我应该把它放在哪里。在根文件夹的 .htaccess 中,还是 WordPress 安装所在的 af1wp 文件夹中?
Tnx 进阶
以下poncha的问题:
- 是的,URL 总是以文件夹开头。只是为了澄清(不清楚)“nieuws”部分总是相同的,但不是第二部分(称之为 ID)。
- 我更喜欢重定向。
- 文件
/raikkonen-alles-is-mogelijk-in-australi是WordPress 中的一个帖子。该 WordPress 安装当前位于文件夹 af1wp 中,但在上线时将移至根文件夹。
【问题讨论】:
-
请澄清几点:原始网址总是以两个“文件夹”开头吗?或者也许只有最后一部分(在最后一个斜线之后)很重要?另外,浏览器应该重定向到一个新的位置,还是执行子请求(保持原始网址不变)?文件
/raikkonen-alles-is-mogelijk-in-australi是否存在于文档根目录中,还是这个虚拟 uri 也存在? -
^^ 如果您编辑问题并在那里提供我要求的信息会更好,而不是顺便在 cmets 中回复。
-
@Poncha,tnx 供您发表评论。我已经为你更新了问题:-)
标签: .htaccess mod-rewrite url-rewriting