【问题标题】:Wordpress htaccess modrewriteWordPress htaccess modrewrite
【发布时间】:2012-05-31 23:26:47
【问题描述】:

这是我的wordpress htaccess

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

# END WordPress

我创建了一个名为“酒店”的类别 我喜欢通过 mod rewrite apache 模块更改我的 url。 我现在的网址是这样的

http://www.mydomains.com/hotels?state=newyork&country=us

但我想要如下网址:

http://www.mydomains.com/hotels/us/newyork

我怎样才能做到这一点?

我试图获取这样的网址: http://www.mydomains.com/hotels/newyork 来自http://www.mydomains.com/hotels?state=newyork

所以我在重写规则之后使用了这一行,但它不起作用。

RewriteRule ^hotels/([^/]*)$ /hotels/?state=$1 [L]

有人可以帮帮我吗?

提前致谢

【问题讨论】:

    标签: wordpress .htaccess mod-rewrite


    【解决方案1】:

    您尝试通过 htaccess 更改永久链接是否有特殊原因?这可以通过

    下的 wordpress 仪表板更有效地完成

    设置>固定链接

    您可以选择自定义永久链接结构或从预先选择的通过 wordpress 给定的结构中进行选择。

    【讨论】:

      【解决方案2】:

      把这个放在 RewriteConds 之前:

      RewriteRule ^hotels/([^/]+)/?$ hotels?state=$1
      

      您不需要 [L] 标志,因为它会阻止 Wordpress 处理它。

      【讨论】:

      • 不工作,它显示没有找到。我把它放在 RewriteRule ^index\.php$ - [L] 之后
      • 不,您需要将它放在该 RewriteRule 的 RewriteConds 之前。
      • # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^hotels/([^/]+)/?$ hotels?state=$1 RewriteRule ^index\.php$ - RewriteCond % {REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule 。 /index.php [L] # 结束 WordPress
      猜你喜欢
      • 1970-01-01
      • 2010-10-29
      • 1970-01-01
      • 1970-01-01
      • 2021-08-16
      • 2021-08-16
      • 1970-01-01
      • 2012-09-11
      • 2015-03-14
      相关资源
      最近更新 更多