apache URL重写两个不同的毯子重定向(一个WordPress的永久链接)

oxosxuxt  于 2023-02-19  发布在  Apache
关注(0)|答案(1)|浏览(117)

我有一个相对复杂的.htaccess文件来控制页面请求,目前它将所有文件请求(有一些类型排除)重定向到一个索引文件,除了一个包含WordPress安装的目录。
我现在需要启用WordPress的PermaLink支持,但我有一些困难修改.htaccess工作。
PermaLinks被要求产生更SEO友好的URL,它们通常由WordPress专门处理-但在我的情况下,似乎需要一个详细的here修改重写规则(否则,当启用时,它会给出404响应)。
下面是当前的.htaccess内容:

RewriteEngine ON

RewriteCond %{HTTP_HOST} !^www\..*
RewriteCond %{HTTP_HOST}   !^$
RewriteCond %{HTTP_HOST} ^([^.]*)\.(co\.uk)
RewriteRule ^.*$     http://www.%1.%2%{REQUEST_URI} [R=permanent,L]

AddHandler application/x-httpd-php .phtml

#RewriteBase /blog/
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule . /blog/index.php [L]

RewriteBase /
RewriteRule  ^blog/  -  [L]
RewriteRule !\.(js|ico|gif|jpg|JPG|png|css|php|phtml|pdf|txt|xml|swf|flv)$ index.phtml

注解掉的部分是我尝试为WordPress PermaLink功能添加规则但失败的地方。
起初,我以为这段代码是工作,但实际上一些非WordPress的请求仍然路由到blog/index.php文件,当试图跟随链接出博客到其他网站区域时,这些请求再次被路由回博客index.php。

daupos2t

daupos2t1#

好了,我相信我现在已经解决了这个问题--事后看来,答案是显而易见的。我在/blog/目录下创建了另一个.htaccess文件,并将相关规则放在那里--看起来工作得很完美。

相关问题