我正在努力在网站上实施网址更改。首先,我只想在子目录级别实现此URL更改。我在根目录下安装了WordPress,但我正在创建自定义分类广告部分。它位于目录/ classifieds /中。因此,我只想重写此子目录中的URL。
我已经设法使重写正常工作,只需要分类的子目录,并为SEO添加301执行和尾随斜杠。我遇到的唯一问题是我的页面都没有传递查询字符串值。我如何修改下面的.htaccess代码,以便在页面之间传递查询字符串?
IndexIgnore *
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /([^/]+/)*[^.]+\.php(\?[^\ ]*)?\ HTTP/
RewriteRule ^(([^/]+/)*[^.]+)\.php$ http://www.mysite.com/classifieds/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ http://www.mysite.com/classifieds/$1/ [R=301,L]
redirect 301 /classifieds/index/ http://www.mysite.com/classifieds/
提前感谢您的帮助!
答案 0 :(得分:0)
您需要添加[QSA]
查询字符串附加
修改强>
RewriteRule ^(([^ /] + /)* [^。] +)。php $ http://www.mysite.com/classifieds/ $ 1 [R = 301,L,QSA]
和
RewriteRule(。*)$ http://www.mysite.com/classifieds/ $ 1 / [R = 301,L,QSA]
答案 1 :(得分:0)
如果我正确理解了这一点,你希望查询字符串能够在多个页面中持续存在,对吧?如果是这样,我知道这样做的唯一方法就是输出页面上附加了查询字符串的所有链接,这意味着这将在你的PHP文件中完成。
为此,您应该输出链接,并在网址末尾添加urlencode($_GET)
。