Mod Rewrite无法在我的插件域上运行

时间:2010-10-03 01:37:47

标签: apache mod-rewrite

我的主域名上有一个Wordpress网站。对于Wordpress网站,我在.htaccess文件中有这个:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php
</IfModule>

# END WordPress

我刚刚创建了一个插件域,并希望为其使用新规则。我创建了一个.htaccess文件并将其放在addon文件夹中,例如。 /newaddon

在我的.htaccess文件中:

Options -Indexes

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^readjob/(.*)/(.*)/(.*)/$ readjob.php?id=$1&amp;cat=$2&amp;title=$3
</IfModule>

我的URL结构是:

http://www.website.com/readjob/3/jobs/web-designers-potech-integrated-services/

但它一直告诉我这个链接已被破坏。我不知道该怎么办,请我帮忙。我今天刚刚学会了mod重写,所以清晰度将受到高度赞赏。

2 个答案:

答案 0 :(得分:1)

我相信这就是你要找的东西:

选项-Multiviews

我在我的主域下托管的域的根目录中使用它,在我的情况下,它们恰好是两个级别。

即。

选项+ FollowSymlinks

选项-Multiviews

上的RewriteEngine

RewriteBase /

说明您将选项-Multiviews 添加到插件网站htaccess文件中。 :d

答案 1 :(得分:0)

这不是HTML,其中&应该用字符引用表示(除非用作引用开放分隔符)。所以:

RewriteRule ^readjob/(.*)/(.*)/(.*)/$ readjob.php?id=$1&cat=$2&title=$3

此外,您应使用比.*更具体的模式,例如[^/]+

RewriteRule ^readjob/([^/]+)/([^/]+)/([^/]+)/$ readjob.php?id=$1&cat=$2&title=$3