Apache 如何在wordpress的.htaccess中添加新的自定义重写?
我已经在我的wordpress中添加了一些额外的功能,这样我就可以用一个变量访问它并做额外的事情 问题是,当我在.htaccess文件中将丑陋的动态链接转换为可爱的permlink格式时,wordpress会覆盖/忽略它。我听说有一种方法可以做到这一点,但我根据人们所说的内容尝试的方法仍然会返回404页。我知道文件指向的是工作 ppl所说的两种方式有效,但我对以下两种方式不感兴趣: 1) 在“开始wordpress”部分上方插入规则 2) 在某处使用add\u rewrite\u rule()wordpress函数 有人用这些方法成功过吗?还是其他方法 下面是我的.htaccess文件的外观Apache 如何在wordpress的.htaccess中添加新的自定义重写?,apache,wordpress,.htaccess,mod-rewrite,Apache,Wordpress,.htaccess,Mod Rewrite,我已经在我的wordpress中添加了一些额外的功能,这样我就可以用一个变量访问它并做额外的事情 问题是,当我在.htaccess文件中将丑陋的动态链接转换为可爱的permlink格式时,wordpress会覆盖/忽略它。我听说有一种方法可以做到这一点,但我根据人们所说的内容尝试的方法仍然会返回404页。我知道文件指向的是工作 ppl所说的两种方式有效,但我对以下两种方式不感兴趣: 1) 在“开始wordpress”部分上方插入规则 2) 在某处使用add\u rewrite\u rule()w
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/ref/(.*)$ /index.php?ref=1&sid=$1 [NC]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
没有成功
我也曾尝试过解决方案,但毫无乐趣
请帮忙!:)
有什么想法吗 新规则将始终覆盖旧规则 试试下面的方法
<IfModule mod_rewrite.c>
RewriteEngine On
#wp
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^/ref/(.*)$ /index.php?ref=1&sid=$1 [NC]
</IfModule>
重新启动发动机
#可湿性粉剂
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
重写规则^/ref/(.*)$/index.php?ref=1&sid=1[NC]
在.htaccess文件中,您必须在重写规则
指令的模式中保留前导斜杠。所以试试这个:
RewriteRule ^ref/(.*)$ index.php?ref=1&sid=$1 [NC]
由于上述解决方案似乎不起作用,我最终在php中完成了以下工作。Wordpress对.htaccess文件的规则是最高的:
if(strstr($_SERVER['REQUEST_URI'], '/ref/')) {
从那以后,我们可以做几乎相同的事情。一个漂亮的url,可以转换成其他内容。这很有效-我刚刚测试了它-注意,我在重写规则的末尾添加了一个L
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/ref/(.*)$ /index.php?ref=1&sid=$1 [NC,L]
#wp
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
重新启动发动机
重写规则^/ref/(.*)$/index.php?ref=1&sid=1[NC,L]
#可湿性粉剂
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
哪个额外变量是您的?你有没有考虑过检查用户是谁,或者在wordpress中创建一个新选项来代替这个?这很有意义。我在其他地方读到,在Wordpress开始之前需要添加自定义规则。在上面的链接示例中,前面是他们的示例。我刚才试着把它放在下面,但它不喜欢我:(无论如何,谢谢!交叉手指,不抽雪茄,试了一下:|无论如何,谢谢Gumbo。你试过相对路径了吗?@Gumbo,我可以请你看看wordpress自定义字段相关的问题吗-?
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^/ref/(.*)$ /index.php?ref=1&sid=$1 [NC,L]
#wp
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>